AtCoder Beginner Contest 112比赛链接
emm.第一次在AtCoder上的比赛. rank:754th rating:113. AC. WA.表示比赛时候的状态
A - Programming Education
AC
题目大意: 输入1的时候输出”Hello World”. 输入2的时候会输入a,b.计算a+b.
题解: emm.入门操作.beginner出这个题还是很不错的.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
using namespace std;
int main(){
//freopen("in.txt", "r", stdin);
ios::sync_with_stdio(0); cin.tie(0);
int kind,a,b;
while(cin >> kind){
if(kind == 1){
cout << "Hello World" << endl;
} else {
cin >> a >> b;
cout << (a+b) << endl;
}
}
return 0;
}
B - Time Limit Exceeded
AC
题目大意:
给两个数N,T. N组数.每组两个数$c_i$和$t_i$.求所有不超过T的$t_i$中$c_i$的最小值.
题解:
emm.入门操作.beginner出这个题还是很不错的.
1 |
|
C - Pyramid
WA
ps: 到最后没做出这道题.想暴力.然后看到
The center coordinates and the height of the pyramid can be uniquely identified
这句话.理解成中心点的坐标和h可能是无穷的.orz
应该是:
可以唯一地识别金字塔的中心坐标和高度. by google translate
题目大意:
有N个点.$(x_i, y_i,h_i)$. $h_i$表示这个点的高度.求一个点$(C_x, C_y, H)$满足.
$h_i = max(H-|x_i - C_x| + |y_i - C_y|, 0)$.
题解:
由于$0 <= C_x, C_y <= 100.$所以暴力即可.
1 |
|
D - Partition
AC
题目大意:
两个数N,M.可以有多种方案找N个数之和是M.每种方案N个数的最大公约数是x.这多种方案中x最大
$$ \sum_{i=1}^{N}a_i = M $$
$$ ans = max(gcd(a_1, a_2,…,a_N))$$
题解:
可以确定.答案不超过M/N.如果答案是x.那么.这个N个数一定是x的倍数.所以只要从M/N到1枚举.第一个满足
M每次减去x的k倍.最后如果M是0.说明当前x是答案.因为是从大到小枚举.所以第一个肯定是最大的.
1 |
|