原神
#include <iostream>
#include <cstring>
using namespace std;
int main() {
string s;
getline(cin, s);
if(s.size() < 19) {
cout << "Human" << endl;
return 0;
}
string str = "";
for(int i = 0; i <= 18; i++) {
str += s[i];
}
if(str == "You are right, but ") cout << "AI" << endl;
else cout << "Human" << endl;
return 0;
}
分段
#include <iostream>
#define ll long long
using namespace std;
ll a[1000005];
int main() {
ll n, k;
cin >> n >> k;
for(int i = 1; i <= n; i++) cin >> a[i];
ll sum = 0, cnt = 0;
a[0] = -1e9;
for(int i = 1; i <= n; i++) {
if(n - i + 1 > k) {
if(a[i] > a[i - 1] && k >= 1) {
k--;
cnt++;
sum += a[i] * cnt;
}
else sum += a[i] * cnt;
}
else {
k--;
cnt++;
sum += a[i] * cnt;
}
}
cout << sum << endl;
return 0;
}
数对
#include <iostream>
#define ll long long
using namespace std;
int main() {
int t;
cin >> t;
while(t--) {
ll a, b, x;
cin >> a >> b >> x;
while(a >= x || b >= x) {
if(a > b) a -= b;
if(a < b) b -= a;
if(a == x || b == x) break;
}
if(a == x || b == x) cout << "YES" << endl;
else cout << "NO" << endl;
}
return 0;
}
博弈
#include <iostream>
using namespace std;
char board[10][10];
int main() {
int t;
cin >> t;
while(t--) {
int cnt = 0;
for(int i = 1; i <= 5; i++) {
for(int j = 1; j <= 5; j++) {
cin >> board[i][j];
if(board[i][j] == 'o') cnt++;
}
}
if(cnt == 1) cout << "Far" << endl;
if(cnt == 2) cout << "Far" << endl;
if(cnt == 3) cout << "Away" << endl;
if(cnt == 4) cout << "Away" << endl;
}
return 0;
}