a:和食物鏈做法一樣,帶權並查集
b:dp,01揹包背出所有能組成邊情況,在用這些情況去計算面積保留最大值
c:每個點從後往前搜,搜到合適就輸出,搜不到就輸出255 255 255
d:博弈,如果成對成對出現後手勝,否則先手勝
a:
#include #include const int n = 10005;
int t, n, m, parent[n], rank[n];
int find(int x)
int main()
int ans = 0;
while (m--)
else
}else }}
printf("%d\n", ans);
}return 0;
}
b:
#include #include #include #include using namespace std;
#define inf 0x3f3f3f3f
const int n = 805;
int n, num[n], dp[n][n], sum;
double cal(int a, int b, int c)
int main()
memset(dp, 0, sizeof(dp));
dp[0][0] = 1;
for (int i = 0; i < n; i++)
if (k - num[i] >= 0) }}
}double ans = -inf;
for (int i = 0; i <= sum / 2; i++) }}
if (ans < 0) printf("-1\n");
else printf("%d\n", (int)(ans * 100));
}return 0;
}
c:
#include #include const int n = 1005;
int n, m;
struct bit
} b[n];
int main()
}if (i == -1) printf("255 255 255\n");}}
return 0;
}
d:
#include #include const int n = 15;
int n, num, vis[105];
bool judge()
int main()
if (judge()) printf("win\n");
else printf("lose\n");
}return 0;
}
堅持.....
攜程程式設計大賽 (預賽第二場)第一題 剪刀石頭布
problem description 現有m個人一起玩剪刀石頭布,以1 m編號,每人出一種,出過不再改變,但是我們並不知道它到底是哪一種。其中石頭贏剪刀,剪刀贏布,布贏石頭,一樣則平 裁判用兩種說法對這m個人所構成的輸贏關係進行描述 一 1 a b 表示第a個人和第b個人出的一樣。二 2 a b ...
2014攜程第二場1004 奪旗 Nim變形
小時候玩過一種小遊戲,奪旗。遊戲規則 共有n組旗子,每組旗子數量已知,兩個玩家輪流拔旗,每次只能選 某 一組,拔掉一定數量的旗子,至少需要拔乙個,拔掉旗子之後,還可以將該組旗子中餘下的任意多個旗子中 任選幾個放到其它的任意一組或幾組裡。一堆旗子被拔空後就不能再往此處插旗了。先無法拔旗的人為輸者。假設...
程式設計之美初賽第二場
problem a 一邊輸入邊一邊維護殘留網路,然後跑isap。小資料過了,大資料tle。據說可以bfs預處理 層次網路。可以過。view code include include include include using namespace std const int inf 10000000 ...