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 }
时间: 2024-10-07 04:41:09