第一道题:竞选班长 AC
#include <iostream>
#include <algorithm>
using namespace std;
int a, b, c, d;
int main() {
scanf("%d%d%d%d", &a, &b, &c, &d);
if ((a>=90&&b>=90||a>=90&&c>=90||b>=90&&c>=90) && d>=85)
puts("Qualified");
else
puts("Not qualified");
return 0;
}
第二道题:永恒的生命游戏 AC
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 107;
int n, m;
char s[N][N];
bool in_map(int x, int y) {
return x>=0 && x<n && y>=0 && y<m;
}
int cal(int x, int y) {
int ct = 0;
for (int i = x-1; i <= x+1; i++) {
for (int j = y-1; j <= y+1; j++) {
if (i==x && j==y || !in_map(i, j)) continue;
if (s[i][j] == '*') ct++;
}
}
return ct;
}
bool check(int x, int y) {
int ct = cal(x, y);
return (s[x][y]=='*' && ct>=2 && ct<=3 || s[x][y]=='.' && ct!=3);
}
bool solve() {
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
if (!check(i, j))
return false;
return true;
}
int main() {
scanf("%d%d", &n, &m);
for (int i = 0; i < n; i++)
scanf("%s", s[i]);
puts(solve() ? "Still life" : "Other");
return 0;
}
第三道题:调配问题(一) AC
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1e5 + 7;
int n, a[N];
long long s, ans;
int main() {
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
scanf("%d", a + i);
s += a[i];
ans += abs(s);
}
printf("%lld\n", ans);
return 0;
}
第四道题:数字验证 AC
#include <bits/stdc++.h>
using namespace std;
char s[505];
int main() {
cin >> s;
int p = 0, q = -1, n = strlen(s+p);
if (s[p]=='+' || s[p]=='-') p++;
if (n==1 && s[p]=='.') {
puts("Invalid");
return 0;
}
for (int i = p; s[i]; i++) {
if (s[i] == '.') {
q = i;
break;
}
}
for (int i = p; s[i]; i++) {
if ( i!=q && !isdigit(s[i]) ) {
puts("Invalid");
return 0;
}
}
puts("Valid");
return 0;
}
第五道题:吃苹果 AC
#include <iostream>
#include <algorithm>
using namespace std;
const int N = 1e6 + 7;;
int n, a[N], sum = 0;
int main() {
scanf("%d", &n);
for (int i = 0; i < n; i ++)
scanf("%d", a + i);
sort(a, a + n);
for (int i = 0; i < n; i ++)
if (sum <= a[i]) sum++;
printf("%d\n", sum);
return 0;
}
若有更好的解,欢迎评论或私信与我~