2018.09.08 AtCoder Beginner Contest 109简要题解
比赛传送门
水题大赛?
全是水题啊!!!
T1
ABC333
就是判断是不是两个数都是奇数就行了。
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
if(a%2&&b%2)cout<<"Yes";
else cout<<"No";
return 0;
}
T2
Shiritori
sb字符串模拟(打比赛读题失误233)
代码:
#include<bits/stdc++.h>
using namespace std;
int n;
string w[105];
bool vis[26];
map<string,int>s;
int main(){
cin>>n;
bool f=true;
for(int i=1;i<=n;++i){
cin>>w[i];
if(s[w[i]])f=false;
s[w[i]]=1;
}
for(int i=2;i<=n;++i){
if(w[i-1][w[i-1].size()-1]==w[i][0])continue;
f=false;
}
if(f)cout<<"Yes";
else cout<<"No";
return 0;
}
T3
Skip
就是求一堆数的最大公约数。
直接把X放进x数组里一起排序后求所有连续两个数的差值的最大公约数就行了。
代码;
#include<bits/stdc++.h>
#define N 100005
using namespace std;
inline int read(){
int ans=0;
char ch=getchar();
while(!isdigit(ch))ch=getchar();
while(isdigit(ch))ans=(ans<<3)+(ans<<1)+(ch^48),ch=getchar();
return ans;
}
int n,x[N];
inline int gcd(int a,int b){while(b){int t=a;a=b,b=t%a;}return a;}
int main(){
n=read()+1;
for(int i=1;i<=n;++i)x[i]=read();
sort(x+1,x+n+1);
int g=x[2]-x[1];
for(int i=3;i<=n;++i)g=gcd(g,x[i]-x[i-1]);
cout<<g;
return 0;
}
T4
Make Them Even
这题直接贪心就完了啊。
对于每一行,我们从左到右判断。
如果当前格子中是奇数,那么向右移,判断下一个格子;否则直接判断下一个格子。
注意:我们并不判断最后一列。
所有行操作完之后除最后一列之外全是偶数了。
于是最后一列从上到下判断。
如果当前格子中是奇数,那么向下移,判断下一个格子;否则直接判断下一个格子。
统计完后输出方案就行了。
代码:
#include<bits/stdc++.h>
#define N 505
using namespace std;
inline int read(){
int ans=0;
char ch=getchar();
while(!isdigit(ch))ch=getchar();
while(isdigit(ch))ans=(ans<<3)+(ans<<1)+(ch^48),ch=getchar();
return ans;
}
int h,w,a[N][N],pos[N];
bool vis[N][N],is[N][N];
struct Node{int a,b,c,d;};
vector<Node>q;
int main(){
h=read(),w=read();
for(int i=1;i<=h;++i){
for(int j=1;j<=w;++j)a[i][j]=read();
for(int j=1;j<w;++j)if(a[i][j]&1)a[i][j+1]++,q.push_back((Node){i,j,i,j+1});
}
for(int i=1;i<h;++i)if(a[i][w]&1)a[i+1][w]++,q.push_back((Node){i,w,i+1,w});
cout<<q.size()<<'\n';
for(int i=0;i<q.size();++i)cout<<q[i].a<<' '<<q[i].b<<' '<<q[i].c<<' '<<q[i].d<<'\n';
return 0;
}
ak之后意外得知这场rating1200+就不计unrated了excuse me?
2018.09.08 AtCoder Beginner Contest 109简要题解的更多相关文章
- 2018.09.02 Atcoder Regular Contest 102简要题解
比赛传送门 T1 Triangular Relationship 分析之后发现有两种情况: 1. n为奇数,那么所有数都是k的倍数. 2. n为偶数,那么所有数都是k/2的倍数. 然后就可以愉快A题了 ...
- Atcoder Beginner Contest 138 简要题解
D - Ki 题意:给一棵有根树,节点1为根,有$Q$次操作,每次操作将一个节点及其子树的所有节点的权值加上一个值,问最后每个节点的权值. 思路:dfs序再差分一下就行了. #include < ...
- KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200) 题解
KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200) 题解 哦淦我已经菜到被ABC吊打了. A - Century 首先把当前年 ...
- AtCoder Grand Contest 031 简要题解
AtCoder Grand Contest 031 Atcoder A - Colorful Subsequence description 求\(s\)中本质不同子序列的个数模\(10^9+7\). ...
- 比赛总结——atcoder beginner contest 109
第一次AK的ABC 虽然题非常简单 但是值得纪念一下 T1 一道很水的题 不存在做法 纯粹乱跑 但是我把Yes打成YES了,哭唧唧 #include <cstdio> #include & ...
- AtCoder Beginner Contest 089完整题解
A - Grouping 2 Time limit : 2sec / Memory limit : 256MB Score : 100 points Problem Statement There a ...
- AtCoder Grand Contest 040 简要题解
从这里开始 比赛目录 A < B < E < D < C = F,心情简单.jpg. Problem A >< 把峰谷都设成 0. Code #include &l ...
- AtCoder Grand Contest 035 简要题解
从这里开始 题目目录 Problem A XOR Circle 你发现,权值的循环节为 $a_0, a_1, a_0\oplus a_1$,然后暴力即可. Code #include <bits ...
- AtCoder Grand Contest 036 简要题解
从这里开始 比赛目录 Problem A Triangle 考虑把三角形移到和坐标轴相交,即 然后能够用坐标比较简单地计算面积,简单构造一下就行了. Code #include <bits/st ...
随机推荐
- VB6 实现命令行调用时附着到原控制台
Public Declare Function AttachConsole Lib "kernel32.dll" (ByVal ProcessID As Integer) As B ...
- as3的全屏功能的实现主要是舞台stage的displayState属性
StageDisplayState.NORMAL 正常 StageDisplayState.FULL_SCR ...
- Simple2D-23(重构)反走样几何图形
以前 Simple2D 使用 Canvas2D 对象来绘制几何图形,而且渲染出来的几何图形存在明显的锯齿.如果想要抗锯齿的几何图形,则需要开启 OpenGL 的 MSAA,这需要很大的开销. 如果不使 ...
- oracle启动过程
Oracle 的启动需要经历四个状态,SHUTDOWN .NOMOUNT .MOUNT .OPEN. SHUTDOWN状态 ...
- How to Pronounce the I in ING
How to Pronounce the I in ING Share Tweet Share Tagged With: ING Verbs The I in ING is the IH as in ...
- electron 截图为空
https://github.com/electron/electron/issues/2610
- avg(xxxxxx)什么时候能独自出现?
avg(xxxxxx)是作为求一组数据的平均数,需要有这组数据的总数和个数,所以通常配合着group by来使用, 比如: SELECT ID, AVG(GRADE) AS 平均数 FROM TEST ...
- for循环语句输出菱形
for(int a = 5; a > 0 ; a--){ for(int b = 1; b <= a; b++){ System.out.print(" "); } f ...
- nyoj1076-方案数量 【排列组合 dp】
http://acm.nyist.net/JudgeOnline/problem.php?pid=1076 方案数量 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描述 ...
- 50. Pow(x, n) (INT; Divide-and-Conquer)
Implement pow(x, n). 思路:二分法,将每次相乘,转化成平方. class Solution { public: double myPow(double x, int n) { ) ...