大清早发现自己的rating涨了72分还是很高兴的,毕竟之前都是在掉分,还差9分才能到宝蓝啊,果然还是小菜鸡。
A Brain's Photos
大水题,要不是这个codeforces是外网太卡,提交等个半天,我想还是可以更快的
题意:一个n行m列的字符矩阵,由C,M,Y,W,G,B六个字符构成,当出现C,M,Y中的任何一种或多种时输出color,当只由W,G,B这三种的一种或者多种组成时,输出#Black&White。
代码如下:
#include<bits/stdc++.h>
using namespace std;
const int INF=0x3f3f3f3f;
typedef long long LL;
int main()
{
int n;
scanf("%d",&n);
if(n<3)
{
printf("-1\n");
}
else
{
if(n%2)
{
LL a=n/2;
printf("%I64d %I64d\n",2*a*a+2*a,2*a*a+2*a+1);
}
else
{
LL a=n/2;
printf("%I64d %I64d\n",a*a-1,a*a+1);
}
}
}
C
Pythagorean Triples
这题有点意思,考你课外知识。
题意:告诉你一个直角三角形的一条边,问另外两条边是多少,全部都是整数。
思路:这是一个勾股数,关于勾股数的公式有:(2n+1,2n2+2n,2n2+2n+1)and (2n,n2-1,n2+1),那么只要奇偶判断下就行了,当然数据应当写成long long。
代码如下:
#include<bits/stdc++.h>
using namespace std;
const int INF=0x3f3f3f3f;
typedef long long LL;
int main()
{
int n;
scanf("%d",&n);
if(n<3)
{
printf("-1\n");
}
else
{
if(n%2)
{
LL a=n/2;
printf("%I64d %I64d\n",2*a*a+2*a,2*a*a+2*a+1);
}
else
{
LL a=n/2;
printf("%I64d %I64d\n",a*a-1,a*a+1);
}
}
}