您的位置:首页 > 其它

Codeforces Round #200 (Div. 2)

2013-09-15 02:12 555 查看
My submissions



 

 
#WhenWhoProblemLangVerdictTimeMemory
446735101:27:52hybestD - Alternating CurrentGNU C++Accepted30 ms344 KB
446544001:05:14hybestC - Rational ResistanceGNU C++Accepted30 ms0 KB
446467600:58:40hybestC - Rational ResistanceGNU C++Runtime error on pretest 50 ms0 KB
446392300:45:45hybestC - Rational ResistanceGNU C++Runtime error on pretest 530 ms0 KB
446171900:23:13hybestB - Simple MoleculesGNU C++Accepted30 ms0 KB
446007400:10:23hybestA - MagnetsGNU C++Accepted62 ms0 KB
445979200:08:45hybestA - MagnetsGNU CCompilation error0 ms0 KB
8分钟的时候交A题,编译器选错了,然后刷新又得等好久……

C题RE的原因是输入b为1的情况,会有除0的操作,竟然用了20分钟才发现这个问题……

A题代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<string>
#include<stack>
#include<map>
#include<queue>
#include<algorithm>

using namespace std;

int main()
{
int n, a, b, res = 0;
a = 0 - 1;
scanf("%d", &n);
while( n-- )
{
b = a;
scanf("%d", &a);
if( a != b)
{
res++;
}
}
printf("%d\n", res);
return 0;
}


B题代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<string>
#include<stack>
#include<map>
#include<queue>
#include<algorithm>

using namespace std;

int main()
{
int a, b, c;
int aa, bb, cc;
scanf("%d %d %d", &a, &b, &c);
aa = (b - c + a ) / 2;
bb = (c - a + b ) / 2;
cc = (a - b + c ) / 2;
if( (aa + bb != b) || (bb + cc != c) || (cc + aa != a) || aa < 0 || bb  < 0 || cc < 0)
{

printf("Impossible\n");
return 0;
}
printf("%d %d %d", aa, bb, cc);
return 0;
}


C题代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<string>
#include<stack>
#include<map>
#include<queue>
#include<algorithm>

using namespace std;

int main()
{
__int64 a, b, res = 0, temp;
scanf("%I64d %I64d", &a, &b);
if(a == b)
{
printf("1\n");
return 0;
}
if( b == 1)
{
printf("%I64d\n", a);
return 0;
}
res += a / b;
a %= b;
while( a != 1 )
{
res += b / a;
temp = b;
b = a;
a = temp;
a = a % b;
}
res += b;
printf("%I64d\n", res);
return 0;
}


D题代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<string>
#include<stack>
#include<map>
#include<queue>
#include<algorithm>

using namespace std;

char str[100050];

int main()
{
stack<char>a;
scanf("%s", str);
int i, l;
l = strlen(str);
if( l % 2)
{
printf("No\n");
return 0;
}
a.push(str[0]);
for( i = 1; i < l; i++)
{
if( a.empty() || str[i] != a.top() )
{
a.push(str[i]);
}
else
{
a.pop();
}
}
if( a.empty())
{
printf("Yes\n");
return 0;
}
else
{
printf("No\n");
}
return 0;
}


题目都太水了,好多人半小时左右就过了四个题目的……

解体报告就懒得写了,这种题目一看代码就能懂的吧。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: