/* 8VC Venture Cup 2017 - Elimination Round PolandBall and Hypothesis 时间: 2017/02/21 题意: 题解:枚举 */ #include<cstdio> #include<cstring>
/* 8VC Venture Cup 2017 - Elimination Round PolandBall and Game 时间: 2017/02/21 题意:给出A,B人熟悉的单词,A轮流B说一个单词,并且A先说。一个人不能说另一个人说过的单词,谁不能说出单词,谁就输了,问A能赢吗 题解:策略上A,B如果有一样的单词,先手先说出这个单词对其有利,所以相同的单词如果奇数,那么A可以比B在相同的单词上多一次可以说 */ #include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> #include<queue> #include<map> using namespace std; #define ll long long const int N = 1000010; const int INF = 0x3f3f3f3f; map<string,int> mp1; map<string,int> mp2; int main() { int n,m; while(cin >> n >> m) { mp1.clear(); mp2.clear(); string s; int a1 = 0,a2 = 0,same = 0; for(int i = 0; i < n; i++) { cin >> s; mp1[s] = 1; a1++; } for(int i = 0; i < m; i++) { cin >> s; if(mp1[s] == 1) same++; mp2[s] = 1; a2++; } if(same&1) a1++; if(a1 > a2) puts("YES"); else puts("NO"); } return 0; }
/* 8VC Venture Cup 2017 - Elimination Round PolandBall and Game 时间: 2017/02/21 题意:给出A,B人熟悉的单词,A轮流B说一个单词,并且A先说。一个人不能说另一个人说过的单词,谁不能说出单词,谁就输了,问A能赢吗 题解:策略上A,B如果有一样的单词,先手先说出这个单词对其有利,所以相同的单词如果奇数,那么A可以比B在相同的单词上多一次可以说 */ #include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> #include<queue> #include<map> using namespace std; #define ll long long const int N = 1000010; const int INF = 0x3f3f3f3f; map<string,int> mp1; map<string,int> mp2; int main() { int n,m; while(cin >> n >> m) { mp1.clear(); mp2.clear(); string s; int a1 = 0,a2 = 0,same = 0; for(int i = 0; i < n; i++) { cin >> s; mp1[s] = 1; a1++; } for(int i = 0; i < m; i++) { cin >> s; if(mp1[s] == 1) same++; mp2[s] = 1; a2++; } if(same&1) a1++; if(a1 > a2) puts("YES"); else puts("NO"); } return 0; }
/* 8VC Venture Cup 2017 - Elimination Round PolandBall and Forest 时间: 2017/02/21 题意:i和pi是可以合并的,问能合并成几个集合 题解:并查集 */ #include<cstdio> #include<cstring> #include<cmath> #include<iostream> #include<algorithm> #include<queue> #include<map> using namespace std; #define ll long long const int N = 10010; const int INF = 0x3f3f3f3f; int fa[N]; int Find(int x) { if(fa[x] != x) fa[x] = Find(fa[x]); return fa[x]; } void unio(int x,int y) { int dx = Find(x); int dy = Find(y); if(dx != dy) fa[dy] = dx; return ; } int main() { int n; while(cin >> n) { for(int i = 1; i <= n; i++) fa[i] = i; for(int i = 1; i <= n; i++) { int a; scanf("%d",&a); unio(i,a); // for(int j = 1; j <= n; j++) // printf("%d ",fa[j]); // puts(""); } int ans = 0; for(int i = 1; i <= n; i++) if(Find(i) == i) ans++; printf("%d\n",ans); } return 0; }
8VC Venture Cup 2017 - Elimination Round(A,B,C)
最新推荐文章于 2022-06-27 20:30:42 发布