学ACM的人更贴近生活:
此题为送分题,只需要猜猜价格就行了,猜15元的同学简直丧心病狂,你吃的混沌竟然这么贵
亵渎计算器:
#include<iostream>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
int a[120];
for(int i=0;i<n;++i)
cin>>a[i];
while(1)
{
int flag = 0;
for(int i=0;i<n;++i)
{
if(a[i]==1)
{
flag=1;
}
}
if(flag)
{
for(int i=0;i<n;++i)
{
a[i]-=1;
}
}else break;
}
int sum=0;
for(int i=0;i<n;++i)
{
if(a[i]>1)
{
sum++;
}
}
cout<<sum<<endl;
}
}
Ender学长的百万富翁梦想:
一道简单的数学题
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int T;
cin>>T;
while(T--)
{
double n;
double m;
scanf("%lf %lf%%",&n,&m);
m = m * 0.01;
int yue=0;
while(n<100000000 && n>0)
{
n-=500;
yue++;
n += n*m;
if(m>0.01)
m-=0.01;
}
if(n>0) cout<<yue<<' '<<"Billionaire!"<<endl;
else cout<<yue<<' '<<"Poor Ender!"<<endl;
}
}
英明的ym:
先去掉无用字符,在判断有多少个ymdym,string可用char代替
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
int main()
{
int T;
cin>>T;
int cases=1;
while(T--)
{
string s;
cin>>s;
string s2;
for(int i=0;i<s.length();++i)
{
if(s[i]=='y' || s[i]=='m' || s[i]=='d')
s2+=s[i];
}
int sum=0;
for(int i=0;i<s2.length();)
{
if(s2.length() - i < 5) break;
int flag=1;
if(s2[i]==s2[i+3] && s2[i]=='y')
{
if(s2[i+1]==s2[i+4] && s2[i+1]=='m')
{
if(s2[i+2]=='d')
{
flag=0;
sum++;
i+=5;
}
}
}
if(flag) ++i;
}
cout<<"Case "<<cases++<<": "<<sum<<endl;
}
}
守护者的烦恼:
一道水题
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define mem(a,b) memset((a),(b),sizeof(a))
#define maxn 10000
char a[maxn];
int vis[30];
int main()
{
int n;
while(cin>>n)
{
mem(vis,0);
for(int i=0;i<n;i++)
{
cin>>a[i];
vis[a[i]-'a']++;
//cout<<a[i]-'a'<<' '<<vis[a[i]-'a']<<endl;
}
if(n>26)
{
cout<<-1<<endl;
continue;
}
int ans=0;
for(int i=0;i<26;i++)
{
if(vis[i]>1)
{
ans+=(vis[i]-1);
//cout<<ans<<' '<<vis[i]<<endl;
}
}
cout<<ans<<endl;
}
}
最后一题不要求