传送门

#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 六一欢乐赛的更多相关文章

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

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

  2. Comet OJ - 2019国庆欢乐赛 C题 两排房子

    ###题目链接### 题目大意:这里有横着的两排房子,给你每个房子的左端点和右端点.若两排房子中分别有两个房子 x y ,他们在横坐标上有重叠部分(端点重叠也算),则被称为 “对门” 关系. 问你总共 ...

  3. Comet OJ 夏季欢乐赛 篮球校赛

    Comet OJ 夏季欢乐赛 篮球校赛 题目传送门 题目描述 JWJU注重培养学生的"唱,跳,rap,篮球"能力.于是每年JWJU都会举办篮球校赛,来给同学们一个切磋篮球技术的平台 ...

  4. Comet OJ 夏季欢乐赛 Gree的心房

    Comet OJ 夏季欢乐赛 Gree的心房 题目传送门 题目描述 据说每一个走进Gree哥哥心房的小姑娘都没有能够再走出来-- 我们将Gree哥哥的心房抽象成一个n \times mn×m的地图,初 ...

  5. Comet OJ 夏季欢乐赛 分配学号

    Comet OJ 夏季欢乐赛 H 分配学号 题目传送门 题目描述 今天,是JWJU给同学们分配学号的一天!为了让大家尽可能的得到自己想要的学号,鸡尾酒让大家先从 [1,10^{18}][1,1018] ...

  6. 【题解】Comet OJ 国庆欢乐赛 简要题解

    [题解]Comet OJ 国庆欢乐赛 简要题解 A 直接做 B 直接做,结论: \[ ans=\max([Max\ge \mathrm{sum}] Max,s[n]/2) \] C 考虑这样一个做法: ...

  7. Comet OJ - Contest #11 题解&赛后总结

    Solution of Comet OJ - Contest #11 A.eon -Problem designed by Starria- 在模 10 意义下,答案变为最大数的最低位(即原数数位的最 ...

  8. contesthunter CH Round #64 - MFOI杯水题欢乐赛day1 solve

    http://www.contesthunter.org/contest/CH Round %2364 - MFOI杯水题欢乐赛 day1/Solve Solve CH Round #64 - MFO ...

  9. 2014.8.3情人节欢乐赛【Benny的农场】

    Benny的农场 (farm.pas/.c/.cpp) 时间限制:1s.空间限制:128MB 题目描述: Benny有一片农田需要灌溉.农田的形状为矩形,并被分为许多小块.每一块中都有一些水管.共有1 ...

随机推荐

  1. 【dart学习】-- Dart之类和对象

    一,概述 类(Class)是面向对象程序设计,实现信息封装的基础.类是一种用户定义的类型.每个类包含数据说明和一组操作数据或传递消息的函数.类的实例称为对象. Dart的类与其它语言都有很大的区别,比 ...

  2. 剑指offer——62数组种数字出现的次数

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 题解: 我们想到异或运算的一个性质:任何一个数字异或它自己都等于0.也就是说,如果我们从头到尾依 ...

  3. LBP算子

    LBP算子特点 LBP(Local Binary Pattern),即局部二值模式,属于一种图像预处理算法,具有光照不变性和旋转不变性. 我目前做的项目是人脸表情识别,采用这种算法可以减少光照和人脸旋 ...

  4. zabbix--添加host

    在client配置好zabbix_agent后,如果server端没配置自动发现,那就需要创建添加host. 首先找到地方.Configuration--Hosts--Create Host 创建ho ...

  5. vue swiper上下无缝轮播

    参考:https://www.jianshu.com/p/5e5e59065e9c 效果: index.html: <link href="https://cdn.bootcss.co ...

  6. ant design 两个tabs如何同时切换

    假设界面上有两个地方用到了同一个tabs,但是切换其中一个tabs,另一个tabs并不会同时切换,因为只是在其中一个tabs上调用了onChange,所以需要用到activeKey动态地设置tabs的 ...

  7. 2019-8-31-dotnet-通过-HttpClient-下载文件同时报告进度的方法

    title author date CreateTime categories dotnet 通过 HttpClient 下载文件同时报告进度的方法 lindexi 2019-08-31 16:55: ...

  8. 构建单页Web应用——简单概述

    一.开发框架 ExtJS可以称为第一代单页应用框架的典型,它封装了各种UI组件,用户主要使用JavaScript来完成整个前端部分,甚至包括布局.随着功能逐渐增加,ExtJS的体积也逐渐增大,即使用于 ...

  9. linux指令【参考鸟哥的Linux私房菜】

    date指令  显示日期 cal指令 显示日历 bc  计算器  scale+number  显示几位小数  quit退出bc tab键  命令提示  入输入ca,按下tab键,会将所有ca的指令全部 ...

  10. elasticsearch 父子文档(十一)

    说明 需求 一个产品多个区域销售 每个区域有自己的价格, 方式1冗余行,a 产品分别在  area1 area2 area3区域销售 a产品就会生成3条产品数据 搜索id去重就行了,但是问题就是 聚合 ...