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 ...
随机推荐
- Mac版本navicat premium彻底卸载的终端命令
Mac版本navicat premium彻底卸载的终端命令: sudo rm -Rf /Applications/Navicat\ Premium.app sudo rm -Rf /private/v ...
- Sqli labs系列-less-2 详细篇
就今天晚上一个小插曲,瞬间感觉我被嘲讽了. SQL手工注入这个东西,杂说了吧,如果你好久不玩的话,一时说开了,你也只能讲个大概,有时候,长期不写写,你的构造语句还非常容易忘,要不我杂会被瞬间嘲讽了啊. ...
- C语言新手写扫雷源代码
今天发布源代码,由于写在一个文件里非常乱,所以分三个文件写 绘图和鼠标函数graph.h /*绘图与鼠标相关函数*/ #include<graphics.h> #include <e ...
- CSS:CSS 伪类(Pseudo-classes)
ylbtech-CSS:CSS 伪类(Pseudo-classes) 1.返回顶部 1. CSS 伪类(Pseudo-classes) CSS伪类是用来添加一些选择器的特殊效果. 语法 伪类的语法: ...
- 服务器安装TeamViewer 13
服务器安装TeamViewer 13 服务器上安装TeamViewer,网上找了个教程开始安装,里面有坑,安装时要根据自己的情况而定.Linux系统更新太快,网上教程可能会有一些出入. TeamVie ...
- CodeForces-1249C2-Good Numbers (hard version) -巧妙进制/暴力
The only difference between easy and hard versions is the maximum value of n. You are given a positi ...
- Java 中 Properties 类的操作
一.Java Properties类 Java中有个比较重要的类Properties(Java.util.Properties),主要用于读取Java的配置文件,各种语言都有自己所支持的配置文件,配置 ...
- 匈牙利算法实战codevs1022覆盖
1022 覆盖 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题解 查看运行结果 题目描述 Description 有一个N×M的单位方格中 ...
- Install .NET Core Runtime on Linux Ubuntu 16.04 x64
原文链接https://www.microsoft.com/net/download/linux-package-manager/ubuntu16-04/runtime-current nstall ...
- position:relative/static/fixed/absolute定位的区别以及使用场景
absolute是相对于自己最近的父元素来定位的,relative是相对于自己来定位的 relative 不脱离文档流,absolute 脱离文档流.也就是说:relative 的元素尽管表面上看到它 ...