2019燕山大學程式設計新生賽(二) 諜戰風雲

2021-10-02 13:16:28 字數 3440 閱讀 7891

在網上搜到乙個 ## 但是採用的二進位制法,本人文化有限,實在研究不透,

我就嘗試著用最笨的方法把他們乙個乙個算出來

思路: 把所有結果算出來挨個比對

多年的厲兵秣馬之後,恩希爾大帝發動了對北方的入侵,第一次北境戰爭打響。2023年7月,尼弗迦德軍隊越過阿梅爾山脈直取辛特拉。經過四天的艱苦戰鬥,帝**最終攻陷了辛特拉都城,卡蘭瑟女王自盡殉國,辛特拉滅亡

北境諸國此時才如夢方醒,派出了大量刺客和間諜潛入尼弗迦德

恩希爾大帝在宴席上遇刺,但刺客的刀刃還沒有來得及捅穿恩希爾大帝的胸膛就被**了;恩希爾大帝震怒,下令在全國範圍內排查緝拿來自北境諸國的臥底,根據已有的情報,臥底們都採用一種特殊的編號來互相識別身份

如果編號 q 滿足如下情況即是臥底:

q = 3

​a​1​​+ 3​a​2​​+ 3​a​3+ 3​a4​​… + 3​a​n(n≥1);

其中a​1​​,a​2​​… a​n​​都是整數且各不相等 如 4 = 3的​1​次方​+ 3的​0次方

輸入的第一行是乙個正整數 n (n ⩽ 500),代表有 n 組測試資料 接下來 n 行,每行包含乙個正整數 q(q ⩽ 10000)

對於每組測試資料輸出一行,如果 q 滿足臥底的條件,那麼直接輸出 q;否則輸出大於該正整數q且滿足臥底條件的最小正整數

6 1 2 6 13 14 3620

1 3 9 13 27 6561

#include

#include

using

namespace std;

int sum[10]

[252];

int index[10]

;int

main()

sum[0]

[0]=

1; index[0]

=0;for

(int i =

1; i <

10; i++

) index[0]

++;for(

int i =

0; i <

9; i++

)for

(int j = i +

1; j <

10; j++

) sum[1]

[index[1]

++]= sum[0]

[i]+ sum[0]

[j];

for(

int i =

0; i <

8; i++

)for

(int j = i +

1; j <

9; j++

)for

(int k = j +

1; k <

10;k++

) sum[2]

[index[2]

++]= sum[0]

[i]+ sum[0]

[j]+ sum[0]

[k];

for(

int i =

0; i <

7; i++

)for

(int j = i +

1; j <

8; j++

)for

(int k = j +

1; k <

9; k++

)for

(int a = k +

1; a <

10;a++

) sum[3]

[index[3]

++]= sum[0]

[i]+ sum[0]

[j]+ sum[0]

[k]+ sum[0]

[a];

for(

int i =

0; i <

6; i++

)for

(int j = i +

1; j <

7; j++

)for

(int k = j +

1; k <

8; k++

)for

(int a = k +

1; a <

9; a++

)for

(int b = a +

1; b <

10;b++

) sum[4]

[index[4]

++]= sum[0]

[i]+ sum[0]

[j]+ sum[0]

[k]+ sum[0]

[a]+ sum[0]

[b];

int num =0;

for(

int i =

0; i <

10; i++

)for

(int i = index[3]

-1; i >=

0; i--

)for

(int i = index[2]

-1; i >=

0; i--

)for

(int i = index[1]

-1; i >=

0; i--

)for

(int i = index[0]

-1; i >=

0; i--

) sum[9]

[0]= num; index[9]

=1;int sumi =0;

for(

int i =

0; i <

10; i++

) sumi +

= index[i]

;int

*sum1=

newint

[sumi]

;int ind =0;

for(

int i =

0; i <

10; i++

)for

(int j =

0; j < index[i]

; j++

) sum1[ind++

]= sum[i]

[j];

for(

int i =

0; i <

10; i++

)//for (int i = 0; i < sumi; i++)cout << sum1[i] << endl;

int n; cin >> n;

int tem;

for(

int i =

0; i < n; i++

)else

if(tem < sum1[j])}

}system

("pause");

return0;

}

2019燕山大學程式設計新生賽(一)

寶可夢大師 聯合作戰計畫 鏡子大師 邊境行星 海伯利安 上充滿各種謎團,包括不知何人所建的 光陰冢 傳說中的機械殺戮者 伯勞 和崇拜伯勞的 伯 會 學者溫特伯的女兒瑞秋曾經去伯勞的光陰冢中考古,無意間碰到伯勞後,患上了一種極其罕見的症狀 她開始逆生長。每過一天,她的年齡就倒退一天。為了拯救自己的女兒...

2023年燕山大學大學生程式設計大賽(二)

滑稽數an easy problem the matrix233的簡單概率論考試 我讀了,一發a了,有什麼好說的。你個彩筆。機房又傳來ft訓斥codeoos的聲音。美麗的女孩codeoos對此感到很委屈。原來,codeoos遇到一道數學題,她做不出來。但是厲害的ft一眼就秒了!這道數學題是這樣的 輸...

2019中山大學程式設計競賽

theme 給定n m矩陣,有p個操作 將以 x1,y1 x2,y2 為左上 右下的矩陣覆蓋。之後q次詢問 以 x1,y1 x2,y2 為左上 右下的矩陣是否有全被覆蓋?solution 二維字首和。先由一次字首和 差分 計算出每個格仔被覆蓋的次數之和。然後將不為0的值 置為1,再進行字首和就算出每...