cf 24 Game 觀察 想一想

2021-06-25 20:22:15 字數 1076 閱讀 7320

題意:

給乙個數n,從1到n。

每次取兩個數,三種操作:加、減、乘,運算完得乙個數,把那倆數刪了,把這個數加進去。

重複操作n-1次。

問是否可能得到24。若可以,輸出每一步操作。

思路:

小於4,不行。

大於等於4:

偶數:1,2,3,4可以搞出24,剩下偶數個數相鄰相減得1,每次與24相乘即可。

奇數:1,2,3,4,5可以搞出24,剩下偶數個數.....同理。

**:

#include #include #include #include #include #include #include #include #include #include using namespace std;

int const uu[4] = ;

int const vv[4] = ;

typedef long long ll;

int const maxn = 50005;

int const inf = 0x3f3f3f3f;

ll const inf = 0x7fffffffffffffffll;

double eps = 1e-10;

double pi = acos(-1.0);

#define rep(i,s,n) for(int i=(s);i<=(n);++i)

#define rep2(i,s,n) for(int i=(s);i>=(n);--i)

#define mem(v,n) memset(v,(n),sizeof(v))

#define lson l, m, rt<<1

#define rson m+1, r, rt<<1|1

int n;

void output1(int n)

rep(i,1,(n-4)/2)

}void output2(int n)

rep(i,1,(n-5)/2)

}int main()

printf("yes\n");

if(n%2==0)else

}

編碼前想一想

第 i 條 a 這個功能是幹什麼的?它跟哪些功能有關聯關係?客戶是否真的有必要需要這個功能?是否合情合理?b 乙個方法,盡量只能完成乙個功能,客戶如果以後擴充套件怎麼辦?有時間,盡量把 重構。c 如果別人可能也呼叫這個方法,就把它封裝成另乙個方法,讓別人再呼叫這個封裝的方法。原因是方便擴充套件,如果...

停下來,好好想一想

首先作為一名程式設計師,我們常常嘲笑我們自己是碼農,可是在任何乙個人的心底都有乙個聲音在吶喊 我不想成為碼農,我也不會讓自己成為 機器!工作近兩年,我一直在追趕,夢想自己在程式設計的道路上有所建樹,能做出一些成就,但是現在我發現,收穫甚少 我得好好分析分析我自己的所作所為 1 為了成為資深的開發者,...

寫在RSA會議開幕前 停一停 想一想 聯絡彼此

停一停 我們生活的節奏太快了,有時都覺得連慢一點都是不可能,更不用說停一停了。但停一停是安全的核心所在。我們不懈地努力,叫停網路攻擊,叫停資料洩露,叫停意圖入侵我們的關鍵系統的攻擊,保衛我們機構的健康和個人私隱。但要叫停並非簡單地阻止網路罪犯的惡意攻擊。我們需要不時停一停,要培養自己從不同的角度看問...