CF437A The Child and Homework 題解
阿新 • • 發佈:2022-04-08
這道題還是比較簡單的吧~
首先考慮取出字串長度 \(a,b,c,d\)。
然後考慮暴力匹配一下,記錄幸運的選項個數以及哪個是幸運的選項(多個選一個就好了)。
最後看一眼個數輸出即可。
坑點:注意過濾掉 A.
B.
C.
D.
。
程式碼:
#include <bits/stdc++.h> using namespace std; typedef long long LL; const int MAXN = 100; string str[5]; int a[5], ans, pd; int read() { int sum = 0, fh = 1; char ch = getchar(); while (ch < '0' || ch > '9') {if (ch == '-') fh = -1; ch = getchar();} while (ch >= '0' && ch <= '9') {sum = (sum << 3) + (sum << 1) + (ch ^ 48); ch = getchar();} return sum * fh; } int main() { for (int i = 1; i <= 4; ++i) { char ch = getchar(); while (ch != '.') ch = getchar(); cin >> str[i]; a[i] = str[i].size(); } for (int i = 1; i <= 4; ++i) { bool flag1 = 1, flag2 = 1, flag3 = 0; for (int j = 1; j <= 4; ++j) { if (i == j) continue; if (a[i] >= a[j] * 2) flag2 = 0; else if (a[i] * 2 <= a[j]) flag1 = 0; else flag3 = 1; } if ((flag1 || flag2) && !flag3) ans++, pd = i; } if (ans == 1) cout << (char)(pd + 'A' - 1); else cout << "C"; return 0; }