A - Nastya Is Buying Lunch
B - Neko Performs Cat Furrier Transform
C - TV Shows
D - Pairs
题意:有m对关系,关系里是两个整数,问你是否能找到两个数字 x,y 使得所有点对关系里至少有一个数字=x or =y。找的到输出YES,否则输出NO。
思路:比较暴力。我们先选出第一行的两个数,如果满足情况.
E - Increasing by Modulo
F - Good Triple
G - The Tag Game
H - Money Transfers
I - Mahmoud and Ehab and the MEX
题意:给你一个大小为n的集合,里面有0~100以内的数字,然后你要保证集合里缺少的数字为x。有插入和删除的操作,问你最少需要几步的操作。
思路:非常简单。不需要说明什么。就是读题有点久。
![](https://i-blog.csdnimg.cn/blog_migrate/8f900a89c6347c561fdf2122f13be562.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/961ddebeb323a10fe0623af514929fc1.gif)
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #include<cmath> #include<queue> #include<set> #include<string> #include<vector> #include<ctime> #include<stack> #include<fstream> #include<iomanip> #include<deque> using namespace std; typedef long long ll; typedef unsigned long long ull; #define mm(a,b) memset(a,b,sizeof(a)) #define maxn 2*500000+50 #define len 150000000+5 #define inf 0x3f3f3f3f int gcd(int a, int b) { return a % b == 0 ? b : gcd(b, a%b); } int main() { int n, x; int cnt[150] = {0}; scanf("%d %d", &n, &x); for (int i = 0; i < n; i++) { int a; scanf("%d", &a); cnt[a]++; } if (x == 0) { printf("%d\n", cnt[0]); } else { int ans = 0; for (int i = 0; i < x; i++) { if (cnt[i] == 0) ans++; } ans += cnt[x]; printf("%d\n", ans); } return 0; }
J - Vitya and Strange Lesson