传送门

#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. lvs+keepalived+mariadb集群

    1.环境准备节点1:172.16.2.95节点2:172.16.2.160节点3:172.16.2.220LVS1:172.16.2.67LVS2:172.16.2.234 2.mariadb集群的安 ...

  2. SP7258 SUBLEX - Lexicographical Substring Search(后缀自动机)

    传送门 解题思路 首先建\(sam\),然后在拓扑序上\(dp\)一下,把每个点的路径数算出来,然后统计答案时就在自动机上\(dfs\)一下,仿照平衡树那样找第\(k\)小. 代码 #include& ...

  3. JavaScript 原生事件

    1.原生事件的绑定:https://www.cnblogs.com/shsxt/p/7903216.html a.DOM0级事件: 1. 行内事件 2. 元素.on事件名=函数 b.DOM2级事件:a ...

  4. C# 中如何输出双引号(转义字符的使用)

    实现效果: 输出这样的一个含有双引号的字符串 "hello" 方式一: 不用 @ 时转义      System.Console.WriteLine("\"he ...

  5. JavaFX开发环境安装配置

    JavaFX开发环境安装配置 从Java8开始,JDK(Java开发工具包)包括了JavaFX库. 因此,要运行JavaFX应用程序,您只需要在系统中安装Java8或更高版本. 除此之外,IDE(如E ...

  6. 2019基于python的网络爬虫系列,爬取糗事百科

    **因为糗事百科的URL改变,正则表达式也发生了改变,导致了网上许多的代码不能使用,所以写下了这一篇博客,希望对大家有所帮助,谢谢!** 废话不多说,直接上代码. 为了方便提取数据,我用的是beaut ...

  7. dnslog小技巧

    一.dnslog利用场景 主要针对无回显的情况. Sql-Blind RCE SSRF RFI(Remote File Inclusion) 二.原理 将dnslog平台中的特有字段payload带入 ...

  8. D3.js 动画 过渡效果 (V3版本)

    一 . 过渡的启动   启动过渡效果,与以下四个方法相关:   d3.transition([selection],[name]) //创建一个过渡对象.但是由于每个选择集中都有transition( ...

  9. js drag drop 收藏夹拖拽移除的简单例子

    代码 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title& ...

  10. 借用数组对象的prototype给数组扩充降维方法

    原理:只要是一个对象,他都有一个prototype原型对象,保存共有的属性和方法. <!DOCTYPE html> <html lang="en"> < ...