2017中國大學生程式設計競賽 網路選拔賽

2021-08-07 05:19:09 字數 1588 閱讀 6254

01:

02:03:

04:05:

06:07:

08:09:

10:11:

比賽時兩題入賬,但我覺得這就是發揮出我們隊的實力了,比賽的時候感覺挺充實的,一直都在思考。

題目是說給你乙個關係圖,第i個人和其他n - i個人的關係給出,1代表能成為朋友,0代表不能成為朋友,當3個人及以上沒有朋友或者三個及以上都互相是朋友時就是bad team否則就是good team。

本題一開始妄圖用強連通果斷超記憶體,後來直接建兩張圖,互為盆友的連通,不為朋友的連通,然後只要每次搜一遍看看朋友的盆友是否連通即可,如果連通直接判斷為不行。

#include 

using

namespace

std;

typedef

long

long ll;

const

int mod = 1e9+7;

const

int maxn = 3003;

bool g[maxn][maxn];

inline

int read()

while(ch>='0'&&ch<='9')

return pre*f;

}#define clr(a,b) memset(a,b,sizeof(a))

bool solve(int n)

for(int j=0;jfor(int k=j+1;kif(g[g1[j]][g1[k]]==1)

}for(int j=0;jfor(int k=j+1;kif(g[g2[j]][g2[k]]==0)}}

return1;}

int main()

}printf("%s\n",solve(n)?"great team!":"bad team!");

}return

0;}

題目是說給你乙個物品的大小,然後給你乙個方格紙告訴你每一筆只能橫著或者豎著畫乙個單位線段,或者走正方形的斜邊畫一道根號2單位的線,問最少畫幾道可以覆蓋大於等於題目給定的物品大小的面積。

運用二分答案,看看一定的筆數最多可以覆蓋多少大的面積。如果當前筆數是偶數那麼將它除以2,如果還是偶數就是mid/2/2 * mid / 2/ 2 * 2,如果奇數就是mid/2/2 * (mid/2/2 + 1)*2。如果當前筆畫數是奇數,就把當前數減一然後和偶數時一樣,最後再加上mid/2/2(意思就是一條邊向外擴充套件乙個梯形)就是奇數時的最大覆蓋數。

#include 

#include

#include

#include

using

namespace

std;

typedef

long

long ll;

int main()

else

}else

else

ans += mid;

}if(ans < n)

else

if(ans >= n)

}printf("%i64d\n", az);

}return

0;}

2019中國大學生程式設計競賽 女生專場(重現賽

題目鏈結 將1 n這n個數字分成兩組,每組至少有乙個數字,然後求兩組的數的總和的最大公約數。include using namespace std define int long long signed main cout sum endl return0 axi 2 bxi c這個一元二次方程,x...

國際大學生程式設計競賽例題 1 2 求和

題目大意 不計進製的加法,進製範圍 2到16 例如 55 67 十進位制 55 add 67 12 二進位制 110111 add 1001100 1111011 123 輸入 2 10 兩個區域,十進位制加 3 69 15 輸出 從3到6 加上 從9到15的和 解答 include using n...

國際大學生程式設計競賽例題 1 4 旅館

1,題意 字串匹配 乙個待匹配字串m 0或多個任意字元,1個任意字元 乙個驗證字串t 長度不超過50 輸出 符合條件的個數 2,思路 動態規劃 d i j 表示m的前i個字元和t的前j個字元匹配的結果.轉移方程 d i j d i 1 j 1 t j d i j d i j 1 d i 1 j t ...