Comet OJ - 2019 六一欢乐赛
#A:
思路:等差数列求和,看成俩次1+2+…+ n,多加的n减去,所以 ans = n*(n+1) - n。
AC代码:
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
int n;
while(cin >> n)
{
cout << n*(n+) - n << endl ;
}
return ;
}
#B:
思路:n 最大只有 14,所以暴力搜索每个数选和不选的情况。
AC代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int ans;
int n;
int a[];
int vis[]; int gcd(int a,int b)
{
if(b == )
return a;
else return gcd(b,a%b);
}
void dfs(int x)
{
if(x == n)
{
for(int i = ;i < n;i++)
for(int j = i + ;j < n;j++)
if( vis[i] && vis[j] && gcd(a[i],a[j]) != )
return;
int cnt = ;
for(int i = ;i < n;i++)
if(vis[i])
cnt++;
ans = max(ans,cnt);
return;
}
vis[x] = ;
dfs(x + );
vis[x] = ;
dfs(x + );
} int main()
{
int t;
cin >> t;
while(t--)
{
memset(vis,,sizeof(vis));
scanf("%d",&n);
for(int i = ;i < n;i++)
scanf("%d",&a[i]);
ans = ;
dfs();
cout << ans << endl;
}
return ;
}
#C
思路:先比较长度,然后从头到尾检索比较字符串a和b,如果不相等,将b滞后一位再比较(具体看代码),最后滞后量等于2,说明可以输出1,否则输出0.
AC代码:
#include<cstdio>
#include<iostream>
#include<string>
using namespace std;
int main()
{
int t;
cin >> t;
while(t--)
{
string a,b;
cin >> a >> b;
if(a.size() - b.size() != ) cout << "" <<endl;
else
{
int f = ;
for(int i = ,j = ;i < a.size();i++)
{
if(a[i] != b[i - f]) f++;
}
if(f == ) cout << "" <<endl;
else cout << "" <<endl;
}
}
return ;
}
#D:
思路:签到题,直接模拟。
AC代码:
#include<iostream>
using namespace std;
int main()
{
int a[] = {};
int n;
for(int i = ;i < ;i++)
{
cin >> n;
a[n]++;
}
int ans = ;
for(int i = ;i < ;i++)
{
if(i)
ans += a[i]%;
else ans += a[i];
}
cout << ans;
return ;
}
#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+;
int dy[] = {,,,-};
int dx[] = {-,,,};
int mp[maxn][maxn];
int q;
int n,m;
bool check(int x,int y)
{
if(x <= n && y <= m && x > && y > && mp[x][y] == )
return true;
else return false;
}
int dfs(int x,int y)
{
int ans = ;
if(check(x,y) && check(x+,y) && check(x,y+) && check(x+,y+)) ans++;
if(check(x,y) && check(x-,y) && check(x,y-) && check(x-,y-)) ans++;
if(check(x,y) && check(x+,y) && check(x,y-) && check(x+,y-)) ans++;
if(check(x,y) && check(x-,y) && check(x,y+) && check(x-,y+)) ans++;
return ans;
} int main()
{
cin >> n >> m >> q;
int ans = (n - ) * (m - );
memset(mp,,sizeof(mp));
while(q--)
{
int a,b;
cin >> a >> b;
ans -= dfs(a,b);
mp[a][b] = ;
cout << ans << endl;
}
return ;
}
Comet OJ - 2019 六一欢乐赛的更多相关文章
- Comet OJ 2019 夏季欢乐赛题解
Comet OJ 2019 夏季欢乐赛题解 我是来骗访问量的 A 完全k叉树 \(n\)个点的完全k叉树的直径. 直接做 B 距离产生美 直接做 C 烤面包片 \(n!!!\mod p\) 显然\(n ...
- Comet OJ - 2019国庆欢乐赛 C题 两排房子
###题目链接### 题目大意:这里有横着的两排房子,给你每个房子的左端点和右端点.若两排房子中分别有两个房子 x y ,他们在横坐标上有重叠部分(端点重叠也算),则被称为 “对门” 关系. 问你总共 ...
- Comet OJ 夏季欢乐赛 篮球校赛
Comet OJ 夏季欢乐赛 篮球校赛 题目传送门 题目描述 JWJU注重培养学生的"唱,跳,rap,篮球"能力.于是每年JWJU都会举办篮球校赛,来给同学们一个切磋篮球技术的平台 ...
- Comet OJ 夏季欢乐赛 Gree的心房
Comet OJ 夏季欢乐赛 Gree的心房 题目传送门 题目描述 据说每一个走进Gree哥哥心房的小姑娘都没有能够再走出来-- 我们将Gree哥哥的心房抽象成一个n \times mn×m的地图,初 ...
- Comet OJ 夏季欢乐赛 分配学号
Comet OJ 夏季欢乐赛 H 分配学号 题目传送门 题目描述 今天,是JWJU给同学们分配学号的一天!为了让大家尽可能的得到自己想要的学号,鸡尾酒让大家先从 [1,10^{18}][1,1018] ...
- 【题解】Comet OJ 国庆欢乐赛 简要题解
[题解]Comet OJ 国庆欢乐赛 简要题解 A 直接做 B 直接做,结论: \[ ans=\max([Max\ge \mathrm{sum}] Max,s[n]/2) \] C 考虑这样一个做法: ...
- Comet OJ - Contest #11 题解&赛后总结
Solution of Comet OJ - Contest #11 A.eon -Problem designed by Starria- 在模 10 意义下,答案变为最大数的最低位(即原数数位的最 ...
- contesthunter CH Round #64 - MFOI杯水题欢乐赛day1 solve
http://www.contesthunter.org/contest/CH Round %2364 - MFOI杯水题欢乐赛 day1/Solve Solve CH Round #64 - MFO ...
- 2014.8.3情人节欢乐赛【Benny的农场】
Benny的农场 (farm.pas/.c/.cpp) 时间限制:1s.空间限制:128MB 题目描述: Benny有一片农田需要灌溉.农田的形状为矩形,并被分为许多小块.每一块中都有一些水管.共有1 ...
随机推荐
- CCC2018 最大战略储备
并查集基本处理即可. #include <cstdio> #include <iostream> #include <algorithm> #include < ...
- P1523 旅行商简化版
P1523 旅行商简化版 题目背景 欧几里德旅行商(Euclidean Traveling Salesman)问题也就是货郎担问题一直是困扰全世界数学家.计算机学家的著名问题.现有的算法都没有办法在确 ...
- 一个小BUG引发的思考。(论开发与测试之间的那点事)
标题不是“一个馒头引发的血案”. 言归正传:今天上午测试的时候,发现了一个BUG,如图: 一个用肉眼就能发现的BUG.原因当然是因为开发同事没有自测试,流入到了测试人员这里了. 无非是开发同事不严谨造 ...
- B606 ChangeNet
@echo off Setlocal Enabledelayedexpansion title B606 ChangeNet echo Checking... set inside=F&set ...
- 利用Pycharm断点调试Python程序
利用Pycharm断点调试Python程序 1.代码 准备没有语法错误的Python程序: #!/usr/bin/pythonimport numpy as np class Network: def ...
- PHP面试 PHP基础知识 三(运算符)
PHP运算符 PHP的运算符的错误控制符@ PHP支持一个错误运算符:@.当将其放在一个PHP表达式之前,该表达式可能产生的任何错误信息都将会被忽略掉. PHP运算符 运算符的优先级 着重记忆运算符 ...
- 1、postman介绍与安装
postman介绍 官方介绍:Developers use Postman to build modern software for the API-first world. 个人理解postman是 ...
- ES6篇
ES6新特性你了解了多少呢? 珠峰培训 5月17日 ES6新特性 ES6的特性比较多,在 ES5 发布近 6 年(2009-11 至 2015-6)之后才将其标准化.两个发布版本之间时间跨度很大,所以 ...
- C# WinfForm 控件之dev报表 XtraReport (五) 并排报表
有了前边的基础这个就很简单了,建一个容器报表 在detail,上放两个xrsubReport.再做两个明细报表,分别指定到xrsubreport就可以了
- Quartz CronTrigger 整配置说明
Quartz cron 表达式的格式向下支持到秒级别的计划,而 UNIX cron 计划仅支持至分钟级. Quartz用cron 表达式存放执行计划,引用了cron表达式的CronTrigger在计 ...