https://ac.nowcoder.com/acm/contest/327#question
期末考试结束了,处女座发现很多人挂了大物,只能等着第二年重修,还要交400元的重修费。处女座突然想起有个学长和他讲过,如果学校哪一年缺钱了,那一年的大物试卷就会特别难。现在处女座有了所有人的成绩,处女座想知道如果所有挂科的人都在第二年重修,学校能赚多少重修费?
挂科是指一门课的分数小于60分。第一行一个整数n,表示考试的人数。
第二行n个整数,表示每个人的成绩。
1<=n<=10000
学生的成绩为0-100(包括0和100)之间的整数
一行,学校能赚的重修费用
代码:
#include <bits/stdc++.h> using namespace std; int N; int main() { scanf("%d", &N); int sum =0; for(int i = 0; i < N; i ++) { int x; scanf("%d", &x); if(x >= 0 && x < 60) sum ++; } printf("%d\n", sum * 400); return 0; }
一天,处女座在牛客算法群里发了一句“我好强啊”,引起无数的复读,可是处女座发现复读之后变成了“处女座好强啊”。处女座经过调查发现群里的复读机都是失真的复读机,会固定的产生两个错误。一个错误可以是下面的形式之一:
1. 将任意一个小写字母替换成另外一个小写字母
2. 在任意位置添加一个小写字母
3. 删除任意一个字母
处女座现在在群里发了一句话,他收到了一个回应,他想知道这是不是一个复读机。
两行
第一行是处女座说的话s
第二行是收到的回应t
s和t只由小写字母构成且长度小于100
如果这可能是一个复读机输出”YES”,否则输出”NO”
只要能经过两步变换就从s得到t就有可能是复读机。
代码:
#include <bits/stdc++.h> using namespace std; string s, t; int minDistance(string word1, string word2) { int row = word1.size(); int col = word2.size(); vector<vector<int> > dp(row + 1, vector<int>(col + 1, 0)); for (int i = 1; i <= row; i ++) dp[i][0] = i; for (int j = 1; j <= col; j ++) dp[0][j] = j; for (int i = 1; i <= row; i ++) { for (int j = 1; j <= col; j ++) { if (word1[i - 1] == word2[j - 1]) dp[i][j] = dp[i - 1][j - 1]; else dp[i][j] = min(min(dp[i - 1][j - 1] + 1,dp[i - 1][j] + 1), dp[i][j - 1] + 1); } } return dp[row][col]; } int main() { cin >> s >> t; int ans = minDistance(s, t); if(ans <= 2) printf("YES\n"); else printf("NO\n"); return 0; }
处女座进行了一场c语言的考试,要求很简单,输出2000个正整数,并且满足以下条件:
1. 任意两个数互质
本题没有输入
2000行,每行一个正整数
代码:
#include <bits/stdc++.h> using namespace std; const int maxn = 50000; bool visit[maxn]; int prime[maxn]; void init_prim() { memset(visit, true, sizeof(visit)); int num = 0; for (int i = 2; i <= maxn; ++i) { if (visit[i] == true) { num++; prime[num] = i; } for (int j = 1; ((j <= num) && (i * prime[j] <= maxn)); ++j) { visit[i * prime[j]] = false; if (i % prime[j] == 0) break; } } } int main() { init_prim(); for(int i = 1; i <= 2000; i ++) { cout << prime[4000 - i] * prime[i] << endl; } return 0; }
链接:https://ac.nowcoder.com/acm/contest/327/J
来源:牛客网
快要期末考试了,处女座现在有n门课程需要考试,每一门课程需要花ai小时进行复习,考试的起始时间为bi,处女座为了考试可以不吃饭不睡觉,处女座想知道他能否复习完所有的科目(即在每一门考试之前复习完该科目)。每一门课的考试时间都为两小时。
第一行一个整数n
第二行n个整数a1,a2,…,an,表示每门课需要复习的时间
第三行n个整数b1,b2,…,bn,表示每门课考试的时间
1<=n<=105
如果处女座能复习完,输出”YES”,否则输出”NO”
考试时不能复习,保证考试时间不会重叠。
复习可以拆开,只要复习时间够了即可。
代码:
#include <bits/stdc++.h> using namespace std; const int maxn = 1e5 + 10; int N; struct Node{ int a, b; }node[maxn]; bool cmp(const Node& aa, const Node& bb) { if(aa.b != bb.b) return aa.b < bb.b; else return aa.a < bb.a; } int main() { scanf("%d", &N); for(int i = 0; i < N; i ++) scanf("%d", &node[i].a); for(int i = 0; i < N; i ++) scanf("%d", &node[i].b); bool flag = true; sort(node, node + N, cmp); int sum = 0; for(int i = 0; i < N; i ++) { sum += node[i].a; if(sum <= node[i].b) continue; else { flag = false; break; } } if(flag) printf("YES\n"); else printf("NO\n"); return 0; }
今天下午的比赛写出来四道题!
Be 主要回来继续撸题了!要加油!!!
FHFHFH
原文:https://www.cnblogs.com/zlrrrr/p/10317125.html