首页 > 代码库 > Codeforces Round #397 (Div. 2)
Codeforces Round #397 (Div. 2)
A - Neverending competitions
没有任何价值.....
1 #include <bits/stdc++.h> 2 using namespace std; 3 const int INF = 0x3f3f3f3f; 4 const int maxn = 100 + 5; 5 typedef long long LL; 6 typedef pair<int, int>pii; 7 8 char home[5]; 9 int main() 10 { 11 int n; 12 scanf("%d", &n); 13 scanf("%s", home); 14 for(int i = 0; i < n; i++) 15 { 16 string s; 17 cin >> s; 18 } 19 if(n & 1) puts("contest"); 20 else puts("home"); 21 return 0; 22 }
B - Code obfuscation(water)
题意:判断一个字符串是不是满足条件:abcd第一出现在字符串的位置,是依次出现的。
1 #include <bits/stdc++.h> 2 using namespace std; 3 const int INF = 0x3f3f3f3f; 4 const int maxn = 100 + 5; 5 typedef long long LL; 6 typedef pair<int, int>pii; 7 int vis[30]; 8 int pos[30]; 9 int main() 10 { 11 string s; 12 cin >> s; 13 int ok = 1; 14 char ch = s[0]; 15 if(ch != ‘a‘) ok = 0; 16 for(int i = 1; i < s.length(); i++) 17 { 18 if(s[i] - ch >= 2) 19 { 20 ok = 0; 21 break; 22 } 23 else if(s[i] - ch == 1) 24 { 25 ch = s[i]; 26 } 27 } 28 if(ok) puts("YES"); 29 else puts("NO"); 30 return 0; 31 }
C - Table Tennis Game 2(思维?贪心?water?)
题意:每一局比赛的小分,先到达k分的,赢下这一小局。现在已知,两个人分别获得n分和m分,问,这个得分情况是否可能,最多是由几局比赛可以达到这个比分。
思路:尽量k:0结束,记录两者输赢场数,然后,验证一下,能否把剩下的比分输出去,每局最多可以输掉k-1分。
1 #include <bits/stdc++.h> 2 using namespace std; 3 const int INF = 0x3f3f3f3f; 4 const int maxn = 100 + 5; 5 typedef long long LL; 6 typedef pair<int, int>pii; 7 8 int main() 9 { 10 LL k, n, m; 11 cin >> k >> n >> m; 12 LL win = n / k; 13 LL lose = m / k; 14 LL a = n % k, b = m % k; 15 LL ok = 0; 16 if(a <= lose * (k - 1) && b <= win * (k - 1)) 17 { 18 ok = 1; 19 } 20 21 printf("%d", ok ? win + lose : -1); 22 23 return 0; 24 }
Codeforces Round #397 (Div. 2)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。