三道水题
第一道是没什么说的
第二道是永远都会有解的
第三道是从整体考虑,长度相同,只有0不能产生1,有1的话,1可以增加和移动
代码如下
A:
#include <cstdio>
#include <cstring>
int main()
{
int x, n;
char sta[5];
while ( scanf("%d", &n) != EOF ) {
getchar();
x = 0;
while ( n-- ) {
scanf("%s", sta);
for ( int i = 0; i < strlen(sta); ++i ) {
if ( sta[i] == '+' ) { x++; break; }
else if ( sta[i] == '-' ) { x--; break; }
}
}
printf( "%d\n", x );
}
}
B:
#include <iostream>
#include <algorithm>
using namespace std;
int n, x, y, sa, sg;
int main()
{
while ( cin >> n ) {
sa = sg = 0;
while ( n-- ) {
cin >> x >> y;
if ( abs(sa + x - sg) <= 500 ) {
sa += x;
cout << 'A';
}
else {
sg += y;
cout << 'G';
}
}
cout << endl;
}
}
C:
#include <iostream>
#include <queue>
#include <string>
using namespace std;
int main()
{
string s1, s2;
while ( cin >> s1 >> s2 ) {
int l1 = s1.size(), l2 = s2.size();
if ( l1 != l2 ) cout << "NO\n";
else {
int n1 = 0, n2 = 0;
for ( int i = 0; i < l1; ++i ) {
if ( s1[i] == '1' ) n1++;
if ( s2[i] == '1' ) n2++;
}
if ( n1 == 0 && n2 == 0 ) cout << "YES\n";
else if ( !( n1 && n2 ) ) cout << "NO\n";
else cout << "YES\n";
}
}
}