传送门

#A:

思路:等差数列求和,看成俩次1+2+…+ n,多加的n减去,所以 ans = n*(n+1) - n。

AC代码:

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<string>
 4 using namespace std;
 5 int main()
 6 {
 7     int n;
 8     while(cin >> n)
 9     {
10         cout << n*(n+1) - n << endl ;
11     }
12     return 0;
13 }


#B:

思路:n 最大只有 14,所以暴力搜索每个数选和不选的情况。

AC代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<algorithm>
 4 #include<cstring>
 5 using namespace std;
 6 int ans;
 7 int n;
 8 int a[20];
 9 int vis[20];
10
11 int gcd(int a,int b)
12 {
13     if(b == 0)
14     return a;
15     else return gcd(b,a%b);
16 }
17 void dfs(int x)
18 {
19     if(x == n)
20     {
21         for(int i = 0;i < n;i++)
22             for(int j = i + 1;j < n;j++)
23                 if( vis[i] && vis[j] && gcd(a[i],a[j]) != 1 )
24                     return;
25         int cnt = 0;
26         for(int i = 0;i < n;i++)
27             if(vis[i])
28                 cnt++;
29         ans = max(ans,cnt);
30         return;
31     }
32     vis[x] = 1;
33     dfs(x + 1);
34     vis[x] = 0;
35     dfs(x + 1);
36 }
37
38 int main()
39 {
40     int t;
41     cin >> t;
42     while(t--)
43     {
44         memset(vis,0,sizeof(vis));
45         scanf("%d",&n);
46         for(int i = 0;i < n;i++)
47             scanf("%d",&a[i]);
48         ans = 0;
49         dfs(0);
50         cout << ans << endl;
51     }
52     return 0;
53 }


#C

思路:先比较长度,然后从头到尾检索比较字符串a和b,如果不相等,将b滞后一位再比较(具体看代码),最后滞后量等于2,说明可以输出1,否则输出0.

AC代码:

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<string>
 4 using namespace std;
 5 int main()
 6 {
 7     int t;
 8     cin >> t;
 9     while(t--)
10     {
11         string a,b;
12         cin >> a >> b;
13         if(a.size() - b.size() != 2) cout << "0" <<endl;
14         else
15         {
16             int f = 0;
17             for(int i = 0,j = 0;i < a.size();i++)
18             {
19                 if(a[i] != b[i - f]) f++;
20             }
21             if(f == 2) cout << "1" <<endl;
22             else cout << "0" <<endl;
23         }
24     }
25     return 0;
26 }


#D:

思路:签到题,直接模拟。

AC代码:

#include<iostream>
using namespace std;
int main()
{int a[14] = {0};int n;for(int i = 0;i < 18;i++){cin >> n;a[n]++;}int ans = 0;for(int i = 0;i < 14;i++){if(i)ans += a[i]%2;else ans += a[i];}cout << ans;return 0;
}


#F:

思路:这也是一道搜索题,首先每次变化后直接搜索能种树的位置肯定超时,所以我们要搜索每次变化后不能用的位置。容易推出最初的种树位置一共有 ans =(n - 1) *(m - 1)种,在总数 ans 减去 每次变化后 失去的位置即可。

AC代码:

#include<cstdio>
#include<algorithm>
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
const int maxn = 1e3+5;
int dy[4] = {0,1,0,-1};
int dx[4] = {-1,0,1,0};
int mp[maxn][maxn];
int q;
int n,m;
bool check(int x,int y)
{if(x <= n && y <= m && x > 0 && y > 0 && mp[x][y] == 0)return true;else return false;
}
int dfs(int x,int y)
{int ans = 0;if(check(x,y) && check(x+1,y) && check(x,y+1) && check(x+1,y+1)) ans++;if(check(x,y) && check(x-1,y) && check(x,y-1) && check(x-1,y-1)) ans++;if(check(x,y) && check(x+1,y) && check(x,y-1) && check(x+1,y-1)) ans++;if(check(x,y) && check(x-1,y) && check(x,y+1) && check(x-1,y+1)) ans++;return ans;
}int main()
{cin >> n >> m >> q;int ans = (n - 1) * (m - 1);memset(mp,0,sizeof(mp));while(q--){int a,b;cin >> a >> b;ans -= dfs(a,b);mp[a][b] = 1;cout << ans << endl;}return 0;
}


转载于:https://www.cnblogs.com/Carered/p/10961670.html

Comet OJ - 2019 六一欢乐赛相关推荐

  1. Comet OJ - 2019六一欢乐赛

    这个题目我先写了些简单的 之后继续填坑: 比赛链接 题目链接 题目描述 小智是一名刚满十岁的男孩,住在真新镇中,他目标是成为一名优秀的宝可梦训练师,他明天就要从大木博士那里获得自己的第一只宝可梦了.博 ...

  2. Comet OJ - 2019六一欢乐赛C.收服宝可梦吧!

    题目描述 继上一话皮卡丘把那几个坏人炸飞之后,小智确认皮卡丘已经完全恢复了.于是带着皮卡丘继续上路,前往尼比市去,小霞为了她的脚踏车的事情也一直跟着小智. 在通往尼比市的路上,要经过一个漆黑的常磐森林 ...

  3. Comet OJ - 2019六一欢乐赛题解

    第001话 宝可梦,就决定是你了! 等差数列求和公式 #include <cstdio> #include <iostream> #include <vector> ...

  4. Comet OJ - 2019六一欢乐赛D.武士少年的挑战!

    题目描述 收服绿毛虫后,小智一行继续在常磐森林里往尼比市的方向前进,小霞一路上都在大惊小怪.这时,小智发现了独角虫,他打算靠皮卡丘来收服独角虫,可是皮卡丘却懒得搭理.小霞非常讨厌虫子,远远的逃开,却碰 ...

  5. Comet OJ - 2019国庆欢乐赛(赛后整理)

    Comet OJ - 2019国庆欢乐赛(赛后整理) 比赛链接:传送门 PS: 做题失误: A题wa了好久不知道为什么,后来才知道乘法爆long long了 B题思路错了,应该在想清楚些. 比赛过程中 ...

  6. Comet OJ 2019 夏季欢乐赛题解

    Comet OJ 2019 夏季欢乐赛题解 我是来骗访问量的 A 完全k叉树 \(n\)个点的完全k叉树的直径. 直接做 B 距离产生美 直接做 C 烤面包片 \(n!!!\mod p\) 显然\(n ...

  7. 【Comet OJ - 2019国庆欢乐赛 F】 高速公路

    题意 一个长度为n的序列h[i]表示第i个位置的数不能超过h[i].每个数和相邻的数的差只能为-10,0或+10. 现在可以允许一个位置忽略限制,求数列中所有数的和最大为多少. 思路 算出没有忽略限制 ...

  8. Comet OJ - 2019国庆欢乐赛 G 后缀数组

    题目链接: https://www.cometoj.com/contest/68/problem/G?problem_id=3940 出题人给的题解: 我们知道,一个子串是字符串的后缀的前缀.  这就 ...

  9. Comet OJ - 2019国庆欢乐赛 D1 入学考试 (简单版)

    https://www.cometoj.com/contest/68/problem/D1?problem_id=3936 入学考试 (简单版) 枚举 已经做完的卷子数量 然后 剩下的时间 我们二分它 ...

最新文章

  1. SAP RETAIL 供应商寄售库存的UB STO
  2. 检查值是否是JavaScript中的对象
  3. CSS 工程化 小结
  4. Web development mistakes
  5. [转]Vue生态系统中的库
  6. Java EE之JSP
  7. 在java中通过过键盘输入_java中从键盘输入
  8. vue-router如何参数传递
  9. 对列 、生产者与消费者
  10. 还贷的那些事VI——自由贷的设想
  11. dmx512协议c语言编程,dmx512协议c语言编程
  12. 《你的灯亮着吗》第一遍读后感
  13. 完美数简介及算法分析
  14. 《电子元器件的可靠性》——3.6节恒定应力加速寿命试验
  15. 5G关键技术简介带你揭开5G神秘面纱
  16. 测量电流传感器的放大倍数
  17. ClassNotFound找不到 redis.clients.jedis.JedisShardInfo
  18. 基于docker 部署 canvas-lms
  19. DataFrame合并
  20. linux查看3306端口号是否打开

热门文章

  1. 自动清理归档日志_从MYSQL 数据库归档 到 归档设计
  2. 字符串按照单词为单位逆序排列
  3. [react] 说说你对Error Boundaries的理解
  4. Taro+react开发(93):判断是否是H5端
  5. [css] ::before和:after中单冒号和双冒号的区别是什么,这两个伪元素有什么作用?
  6. [css] 使用纯css能否监控到用户的一些信息?怎么实现?
  7. [css] 有哪些标签是不支持伪元素的?
  8. 工作109:路由菜单项
  9. 前端学习(2552):vue简介
  10. 前端学习(1775):前端调试之session storage原理和查看