- 康托表
- 打印K型
- 计算天数(Python)
- 黑色星期五
- 分割队伍
- 调配问题(一)
- 阶乘的余数
- 驼峰与蛇
- 四方定理
- 数根
- IP地址
- 最年长的人
- 选科组合
- 合成游戏
- 循环节的判定
- 中心对称数
- 扫雷
- 永恒的生命游戏
- 计算GPA
- 九宫格键盘
- 闯关升级
- 三倍游戏
- 救援争先
- 数字验证
- 评测队列
- 买二送一
- 考试排名
- 巧妙的数
- 三倍子串
- 没有考试的天数
此文章仅供学习交流,不得抄袭刷分!!!
康托表#include打印K型using namespace std; int a, b; int main() { cin >> a >> b; cout << (1 + a + b - 1 - 1)*(a + b - 1 - 1) / 2 + ((a + b) % 2 ? a : b); return 0; }
#include计算天数(Python)using namespace std; int n; int main() { cin.tie(0); cout.tie(0); cin >> n; for (int i = 0; i < n; ++i) { cout << "**"; for (int j = 0; j < n - i; ++j) cout << " "; for (int j = 0; j < n - i; ++j) cout << "*"; cout << endl; } cout << "***" << endl; for (int i = n - i - 1; i >= 0; --i) { cout << "**"; for (int j = 0; j < n - i; ++j) cout << " "; for (int j = 0; j < n - i; ++j) cout << "*"; cout << endl; } return 0; }
sum = 0
year, month, day = input().split('-')
year = int(year)
month = int(month)
day = int(day)
dayNum = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
if year % 400 == 0 or year % 4 == 0 and year % 100 != 0:
dayNum[3] += 1
for i in range(month):
sum += int(dayNum[i])
print(sum + day)
黑色星期五
#include分割队伍using namespace std; int days[13] = {0, 12, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30}; int y, w, cnt; int main() { cin >> y >> w; cnt = w; if (y % 400 == 0 || y % 4 == 0 && y % 100 != 0) days[3]++; for (int i = 1; i <= 12; i++) { cnt = (cnt + days[i]) % 7; if (cnt == 5) cout << i << endl; } return 0; }
#include调配问题(一)#include #include using namespace std; int n, a[100001], s[100001], sum, minn = INT_MAX; int main() { cin.tie(0); cin >> n; for (int i = 1; i <= n; i ++) { cin >> a[i]; s[i] = s[i - 1] + a[i]; sum += a[i]; } for (int i = 1; i <= n - 1; i ++) minn = min(minn, abs(sum - s[i] - s[i])); cout << minn; return 0; }
#include阶乘的余数#include using namespace std; int n; long long s = 0, ans = 0, a; int main() { cin.tie(0); cin >> n; for (int i = 0; i < n; ++i) { cin >> a; s += a; ans += abs(s); } cout << ans; return 0; }
#include驼峰与蛇using namespace std; long long n, m, sum = 1; int main() { cin.tie(0); cin >> n >> m; for (int i = 1; i <= n; i++) { sum *= i; sum %= m; } cout << sum % m; return 0; }
#include四方定理#include using namespace std; char name[1000001]; int main() { int i, len; cin >> name; len = strlen(name); for (i = 0; i < len; ++i) { if (name[i + 1] >= 'A' && name[i + 1] <= 'Z' && (name[i] >= 'A' && name[i] <= 'Z')) { name[i] = tolower(name[i]); cout << name[i] << "_"; } else if (name[i + 1] >= 'A' && name[i + 1] <= 'Z') cout << name[i] << "_"; else if (name[i] >= 'A' && name[i] <= 'Z') { name[i] = tolower(name[i]); cout << name[i]; } else { cout << name[i]; } } return 0; }
#include数根#include using namespace std; long long n, i, j, k, l; int main() { cin.tie(0); cin >> n; double f = int(sqrt(n)); for (i = 0; i <= f; ++i) for (j = i; j <= f; ++j) for (k = j; k <= f; ++k) for (l = k; l <= f; ++l) if ((i * i + j * j + k * k + l * l) == n) cout << i << " " << j << " " << k << " " << l << endl; return 0; }
#includeIP地址using namespace std; char c; long long sum; int main() { while (cin >> c) sum += c - '0'; cout << (sum - 1) % 9 + 1; return 0; }
#include最年长的人using namespace std; int main() { for (int i = 1; i <= 4; i ++) { char ch; int num = 0; for (int j = 1; j <= 8; j ++) { cin >> ch; num = num * 2 + ch - '0'; } cout << num; if (i != 4) cout << '.'; } return 0; }
#include选科组合#include using namespace std; struct data { int year; int month; int day; }; bool datass(data x, data y) { if (x.year == y.year) { if (x.month == y.month) return x.day < y.day; else return x.month < y.month; } else return x.year < y.year; } int main() { int n; struct data a[1000000]; cin >> n; for (int i = 0; i < n; i++) scanf("%d-%d-%d", &a[i].year, &a[i].month, &a[i].day); sort(a, a + n, datass); printf("%04d-%02d-%02d", a[0].year, a[0].month, a[0].day); return 0; }
#include合成游戏using namespace std; int a[6], maxx = 0, mid = 0, minn = 0; int main() { for (int i = 0; i < 6; ++i) { cin >> a[i]; if (a[i] > maxx) { minn = mid; mid = maxx; maxx = a[i]; } else if (a[i] > mid) { minn = mid; mid = a[i]; } else if (a[i] > minn) minn = a[i]; } cout << maxx + mid + minn; return 0; }
#include循环节的判定using namespace std; long long n, m, ans = 0, power = 1; int main() { cin.tie(0); cin >> n; for (int i = 0; i < n; i++) { cin >> m; ans += m; } while (power <= ans) power *= 2; cout << power / 2; return 0; }
#include中心对称数using namespace std; int main() { string s, a, c = ""; cin >> s >> a; int len = s.length() / a.length(); for (int i = 0; i < len; i++) c += a; if (s == c) { cout << "Yes"; return 0; } cout << "No"; return 0; }
#include扫雷using namespace std; string a; char b[10]; int main() { cin>>a; b[1]='1'; b[8]='8'; b[0]='0'; b[6]='9'; b[9]='6'; int i,n=a.size(); for(i=0;i if(a[i]=='2'||a[i]=='3'||a[i]=='4'||a[i]=='5'||a[i]=='7') { printf("Not a strobogrammatic number"); return 0; } else if(!(a[i]==b[a[n-i-1]-'0'])) { printf("Not a strobogrammatic number"); return 0; } } printf("Strobogrammatic number"); return 0; }
#include永恒的生命游戏using namespace std; int n, m; char a[105][105]; int search(int x, int y) { int ans = 0; for (int i = x - 1; i <= x + 1; i++) for (int j = y - 1; j <= y + 1; j++) if (a[i][j] == '*') ans++; return ans; } int main() { cin >> n >> m; for (int i = 1; i <= n; i++) for (int j = 1; j <= m; j++) cin >> a[i][j]; for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { if (a[i][j] == '*') cout << '*'; else cout << search(i, j); } cout << endl; } return 0; }
#include计算GPAusing namespace std; int n, m; char map[105][105]; int main() { cin.tie(0); cin >> n >> m; for (int i = 1; i <= n; ++i) for (int j = 1; j <= m; ++j) cin >> map[i][j]; for (int i = 1; i <= n; ++i) { for (int j = 1; j <= m; ++j) { int x = 0; if (map[i][j] == '*') { if (map[i + 1][j] == '*') ++x; if (map[i + 1][j - 1] == '*') ++x; if (map[i + 1][j + 1] == '*') ++x; if (map[i - 1][j - 1] == '*') ++x; if (map[i - 1][j + 1] == '*') ++x; if (map[i][j + 1] == '*') ++x; if (map[i][j - 1] == '*') ++x; if (map[i - 1][j] == '*') ++x; if (x < 2 || x > 3) { cout << "Other"; return 0; } } else { if (map[i + 1][j] == '*') ++x; if (map[i + 1][j - 1] == '*') ++x; if (map[i + 1][j + 1] == '*') ++x; if (map[i - 1][j - 1] == '*') ++x; if (map[i - 1][j + 1] == '*') ++x; if (map[i][j + 1] == '*') ++x; if (map[i][j - 1] == '*') ++x; if (map[i - 1][j] == '*') ++x; if (x == 3) { cout << "Other"; return 0; } } } } cout << "Still life"; return 0; }
#include九宫格键盘#include using namespace std; int main() { string gpa; float count = 0 , len[2] = {0, 0}; cin >> gpa; len[0] = gpa.size() + 1; for (int i = 0; i < len[0]; ++i) if (gpa[i] == 'A' || gpa[i] == 'B' || gpa[i] == 'C' || gpa[i] == 'D') len[1]++; for (int i = 0; i < len[0]; ++i) { if (gpa[i] == 'A') count = count + 4; else if (gpa[i] == 'B') count = count + 3; else if (gpa[i] == 'C') count = count + 2; else if (gpa[i] == 'D') count = count + 1; else if (gpa[i] == '+') count = count + 0.3; else if (gpa[i] == '-') count = count - 0.3; } float score = count / len[1]; printf("%.2f", score); return 0; }
#include闯关升级#include using namespace std; int main() { string s; int count = 0, len; getline(cin, s); len = s.length(); for (int i = 0; i < len; ++i) { if (s[i] == 'a' || s[i] == 'd' || s[i] == 'g' || s[i] == 'j' || s[i] == 'm' || s[i] == 'p' || s[i] == 't' || s[i] == 'w' || s[i] == ' ') count++; else if (s[i] == 'b' || s[i] == 'e' || s[i] == 'h' || s[i] == 'k' || s[i] == 'n' || s[i] == 'q' || s[i] == 'u' || s[i] == 'x') count += 2; else if (s[i] == 'c' || s[i] == 'f' || s[i] == 'i' || s[i] == 'l' || s[i] == 'o' || s[i] == 'r' || s[i] == 'v' || s[i] == 'y') count += 3; else if (s[i] == 'z' || s[i] == 's') count += 4; } cout << count; return 0; }
#include三倍游戏#include using namespace std; int main() { int n, t, x, num_a = 0, num_b, ans, sum_a[100010], sum_b[100010]; cin >> n >> t; //前缀和 for (int i = 1; i <= n; ++i) cin >> x, sum_a[i] += sum_a[i - 1] + x; for (int i = 1; i <= n; ++i) cin >> x, sum_b[i] += sum_b[i - 1] + x; while (sum_b[num_b + 1] <= t && num_b + 1 <= n) num_b++; ans = max(ans, num_b); while (sum_a[num_a + 1] <= t && num_a + 1 <= n) { num_a++; while (sum_a[num_a] + sum_b[num_b] > t && num_b > 0) num_b--; ans = max(ans, num_a + num_b); } cout << ans << endl; return 0; }
#include救援争先using namespace std; long long n, a[100000], c[100000], ans; int main() { cin >> n; for (ll i = 1; i <= n; i++) { cin >> a[i]; c[a[i] % 3]++; // 计算每张卡片数字对3取余的余数相同的卡片个数 } cout << min(c[1], c[2]) + c[0] / 2; // 最高得分 return 0; }
#include数字验证#include using namespace std; int n; const int maxn = 1010; struct team { int leave, arrive, id; } a[maxn]; bool cmp(team a, team b) { if (a.arrive < b.arrive) return true; if (a.arrive == b.arrive) { if (a.leave < b.leave) return true; if (a.leave == b.leave) if (a.id < b.id) return true; } return false; } int main() { cin >> n; for (int i = 1; i <= n ; ++i) { int h, m; char ch; cin >> h >> ch >> m; a[i].leave = h * 60 + m; cin >> h >> ch >> m; a[i].arrive = a[i].leave + h * 60 + m; a[i].id = i; } sort(a + 1, a + 1 + n, cmp); for (int i = 1; i <= n; ++i) cout << a[i].id << endl; return 0; }
#include评测队列using namespace std; string s; int cnt = 0; int main() { cin >> s; if (s[0] == '+' || s[0] == '-') s = s.substr(1); if (s == ".") { cout << "Invalid"; return 0; } for (int i = 0; i < s.size(); i ++) { if (s[i] == '.') { cnt ++ ; if (cnt > 1) { cout << "Invalid"; return 0; } } else if (s[i] < '0' || s[i] > '9') { cout << "Invalid"; return 0; } } cout << "Valid"; return 0; }
#include买二送一using namespace std; int a[200005], b[200005], n; long long ans, t; int main() { cin >> n; for (int i = 1; i <= n; i++) cin >> a[i] >> b[i]; ans = t = 0; for (int i = 1; i <= n; i++) { t += a[i]; ans = max(ans, t); ans += b[i]; } cout << ans; return 0; }
#include考试排名#include #include using namespace std; long long sum; int n, t; bool cmp(int a, int b) { return a > b; } int main() { vector v; cin >> n; for (int i = 0; i < n; ++i) { cin >> a; v.push_back(t); } sort(v.begin(), v.end(), cmp); if (v.size() >= 3) { while (v.size() >= 3) { sum += v[0] + v[1]; if (v.size() >= 3) v.erase(v.begin(), v.begin() + 3); } } for (vector ::iterator it = v.begin(); it != v.end(); ++it) { sum += *it; } cout << sum; return 0; }
#include巧妙的数#include using namespace std; int n; struct classes { int a[4]; double b[4]; int num, id; } cls[10005]; bool cmp(classes x, classes y) { if (x.b[0] > y.b[0]) return true; if (x.b[0] == y.b[0]) { if (x.b[1] > y.b[1]) return true; if (x.b[1] == y.b[1]) { if (x.b[2] > y.b[2]) return true; if (x.b[2] == y.b[2]) { if (x.b[3] > y.b[3]) return true; if (x.b[3] == y.b[3]) { if (x.num > y.num) return true; if (x.num == y.num) { if (x.id < y.id) return true; } } } } } return false; } int main() { cin.tie(0); cin >> n; for (int i = 1; i <= n; i ++) { string s; cin >> s; int len = s.size(); for (int j = 0; j < len; j ++) { int t = s[j] - 'A'; cls[i].a[t] ++; } for (int j = 0; j < 4; j ++) { cls[i].b[j] = cls[i].a[j] * 1.0 / len; } cls[i].num = len; cls[i].id = i; } sort(cls + 1, cls + 1 + n, cmp); for (int i = 1; i <= n; i ++) cout << cls[i].id << ' '; return 0; }
#include三倍子串using namespace std; int main() { bool mt[10]; int a[1010], n; char ch; while (cin >> ch) { a[++n] = ch - '0'; mt[a[n]] = true; } for (int i = 2; i <= 9; ++i) { if (mt[i]) { int r = 0; for (int j = 1; j <= n; j ++) { r = (r * 10 + a[j]) % i; } if (r != 0) { cout << "not clever"; return 0; } } } cout << "clever"; return 0; }
#include没有考试的天数#include #include #include #include #include using namespace std; int main() { char str[1000005]; while (scanf("%s", str) != EOF) { long long sum[3] = {0}; int s = 0; int n = strlen(str); for (int i = 0; i < n; i++) { s += str[i] - '0'; s %= 3; sum[s]++; } long long ans; ans = (sum[0] + 1) * sum[0] / 2 + sum[1] * (sum[1] - 1) / 2 + sum[2] * (sum[2] - 1) / 2; printf("%lldn", ans); } return 0; }
#includeusing namespace std; int gcd(int x, int y) { if (y == 0) return x; return gcd(y, x % y); } int main() { int n, a, b, c; cin >> n >> a >> b >> c; int d = a / gcd(a, b) * b; int e = b / gcd(b, c) * c; int f = c / gcd(c, a) * a; int g = d / gcd(d, c) * c; cout << n - (n / a + n / b + n / c) + (n / d + n / e + n / f) - n / g; return 0; }



