《春季每日一題2022》
阿新 • • 發佈:2022-03-15
AcWing 3346. 你知道你的ABC嗎
題目連結
https://www.acwing.com/problem/content/3349/
解析*
大小比較,推理。排序後首先得A和A+B+C,然後得B + C,剩餘數中最小的為B,作差求得C.
Ac程式碼
點選檢視程式碼
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int N = 10; int a[N]; bool st[N]; int main() { for(int i = 0; i < 7; i ++) scanf("%d", &a[i]); sort(a, a + 7); int A = a[0]; int sum = a[6]; st[0] = true; st[6] = true; for(int i = 0; i < 7; i ++){ if(a[i] == a[6] - a[0]) st[i] = true; } int B; for(int i = 0; i < 7; i ++){ if(!st[i]){ B = a[1]; break; } } printf("%d %d %d", A, B, sum - A - B); return 0; }
3358. 放養但沒有完全放養
題目連結
https://www.acwing.com/problem/content/3361/
解析
理解題意就可以寫。
Ac程式碼
點選檢視程式碼
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> #include <map> using namespace std; const int N = 1010; char s[N]; char ss[N]; map<char, int> mp; int main() { scanf("%s", s + 1); scanf("%s", ss); for(int i = 1; i <= 26; i ++) mp[s[i]] = i; int len = strlen(ss), cnt = 1; for(int i = 1; i < len; i ++){ if(mp[ss[i]] <= mp[ss[i -1]]) cnt ++; } printf("%d\n", cnt); return 0; }