Codeforces 4A Watermelon
1、第一次设计解题思想时:既然是要求每个人分得的西瓜是偶数公斤,那么只要是大于4公斤的西瓜就好啦~ 而且题目说不要求每个人分得的都一样多,那么干脆不管比4公斤多多少,直接一人两公斤!结果嘛... ...
2、提交的时候没有注意选择编译环境。
#include <iostream>
using namespace std;
int main()
{
int a;
cin>>a;
if((a>=4) && (a%2==0))
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
return 0;
}
Codeforces 1A Theatre Square
1、题目中数据用的是int型。
#include <iostream>
using namespace std;
int main()
{
long long n, m, a, r, c;
cin>>n>>m>>a;
r=n/a;
if(n%a!=0)
++r;
c=m/a;
if(m%a!=0)
++c;
cout<<r*c<<endl;
return 0;
}
Codeforces 71A Way Too Long Words
1、输入格式要求先输入单词个数。
#include <iostream>
#include <string>
using namespace std;
int main()
{
string word;
int length, n;
cin>>n;
for(int i=0; i<n; ++i)
{
cin>>word;
length=word.size();
if(length>10)
cout<<word[0]<<length-2<<word[length-1]<<endl;
else
cout<<word<<endl;
}
return 0;
}
Codeforces 158A Next Roud
1、编译问题。
#include <iostream>
using namespace std;
#define maxSize 60
int main()
{
int score[maxSize];
int n, k, res;
cin>>n>>k;
res=0;
for(int i=0; i<n; ++i)
cin>>score[i];
for(int i=0; i<n; ++i)
if((score[i]>=score[k-1]) && (score[i]>0))
++res;
cout<<res<<endl;
return 0;
}
Codeforces 118A String Task
1、执行时间有点儿长,具体原因不清楚。
#include <iostream>
#include <cctype>
#include <string>
using namespace std;
int main()
{
string str;
cin>>str;
int length;
length=str.size();
for(int i=0; i<length; ++i)
{
str[i]=tolower(str[i]);
if((str[i]!='a')&&(str[i]!='e')&&(str[i]!='i')&&(str[i]!='o')&&(str[i]!='u')&&(str[i]!='y'))
cout<<'.'<<str[i];
}
cout<<endl;
return 0;
}
Codeforces 50A Domino Piling
1、多米诺片是可以旋转的,铺设方式有三个限制条件。
#include <iostream>
using namespace std;
int main()
{
int m, n;
while(cin>>m>>n)
cout<<(m*n)/2<<endl;
return 0;
}
Codeforces 231A Team
1、双层循环注意区分i、j。
2、题目中数据规模。
#include <iostream>
using namespace std;
#define maxSize 10
int main()
{
int views[maxSize];
int n, res;
while(cin>>n)
{
res=0;
for(int i=0; i<n; ++i)
{
for(int j=0; j<3; ++j)
cin>>views[j];
if((views[0]+views[1]+views[2])>1)
++res;
}
cout<<res<<endl;
}
return 0;
Codeforces 282A Bit++
1、每个语句有三个字符,中间的符号固定的反映了加减操作,不需要在意操作符在变量前还是变量后。
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n, plus, sub;
string ope;
while(cin>>n)
{
plus=sub=0;
while(n--)
{
cin>>ope;
if(ope[1]=='-')
++sub;
else
++plus;
}
cout<<plus-sub<<endl;
}
return 0;
}
Codeforces 96A Football
1、可能是我想太多。
#include <iostream>
#include <string>
using namespace std;
int Judge(string line, int length)
{
char remark;
int status=1;
remark=line[0];
status=1;
for(int i=1; i<length; ++i)
{
if(line[i]==remark)
{
++status;
if(status>=7)
return 1;
}
else
{
remark=line[i];
status=1;
}
}
return 0;
}
int main()
{
string line;
int length,flag;
while(cin>>line)
{
length=line.size();
flag=Judge(line,length);
if(flag)
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
}
return 0;
}
Codeforces 112A Petya and Strings
1、输出1、0、-1的条件。
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main()
{
string str1;
string str2;
int length;
while(cin>>str1>>str2)
{
length=str1.size();
int i;
for(i=0; i<length; ++i)
{
str1[i]=tolower(str1[i]);
str2[i]=tolower(str2[i]);
if((str1[i]-'0')>(str2[i]-'0'))
{
cout<<1<<endl;
break;
}
else if((str1[i]-'0') < (str2[i]-'0'))
{
cout<<-1<<endl;
break;
}
}
if(i==length)
cout<<0<<endl;
}
return 0;
}
Codeforces 339A Helpful Maths
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
#define maxSize 105
int main()
{
string exp;
int digit[maxSize];
int length,index;
while(cin>>exp)
{
length=exp.size();
index=0;
for(int i=0; i<length; i+=2)
digit[index++]=exp[i]-'0';
sort(digit,digit+index);
cout<<digit[0];
if(index>1)
{
for(int i=1; i<index; ++i)
cout<<'+'<<digit[i];
}
cout<<endl;
}
return 0;
}
Codeforces 266A Stones on the Table
#include <iostream>
#include <string>
using namespace std;
int main()
{
string stones;
int n,count;
while(cin>>n>>stones)
{
count=0;
for(int i=0; i<stones.size()-1; ++i)
if(stones[i]==stones[i+1])
++count;
cout<<count<<endl;
}
return 0;
}
Codeforces 281A Word Capitalization
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main()
{
string word;
cin>>word;
word[0]=toupper(word[0]);
cout<<word<<endl;
}
Codeforces 158B Taxi
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int groups[100009], num[5];
int n, sum;
while(cin>>n)
{
sum=num[1]=num[2]=num[3]=num[4]=0;
for(int i=0; i<n; ++i)
{
cin>>groups[i];
++num[groups[i]];
}
if(num[1]<=(num[3]+(2*(num[2]%2))))
num[1]=0;
else
num[1]-=num[3]+(2*(num[2]%2));
if((num[1]%4)!=0)
++sum;
sum+=num[4]+num[3]+(num[2]/2)+(num[2]%2)+(num[1]/4);
cout<<sum<<endl;
}
return 0;
}