到底有多二
#include
using namespace std;
string s;
int cnt,flag=0;
int main()
{
getline(cin,s);
if(s[0]=='-')
{
for(int i=1;i<s.size();i++)
{
if(s[i]=='2') cnt++;
}
if((s[s.size()-1]-'0')%2==0) flag=1;
double ans=cnt*1.0/(s.size()-1);
if(flag)
{
printf("%.2f%%",ans*100*1.5*2);
}
else printf("%.2f%%",ans*100*1.5);
}
else
{
for(int i=0;i<s.size();i++)
{
if(s[i]=='2') cnt++;
}
if((s[s.size()-1]-'0')%2==0) flag=1;
double ans=cnt*1.0/(s.size());
if(flag)
{
printf("%.2f%%",ans*100*2);
}
else printf("%.2f%%",ans*100);
}
return 0;
}
大笨钟
#include
#include
using namespace std;
int hh,mm;
char ch;
int main()
{
cin>>hh>>ch>>mm;
if(hh>12)
{
if(mm==0) for(int i=0;i<hh-12;i++) cout<<"Dang";
else for(int i=0;i<hh+1-12;i++) cout<<"Dang";
}
else
{
printf("Only %02d:%02d. Too early to Dang.",hh,mm);
}
return 0;
}
谁先倒
#include
using namespace std;
int a,b,n;
int x1,y1,x2,y2;
int main()
{
cin>>a>>b;
cin>>n;
int cnta=a,cntb=b;
while(n--)
{
cin>>x1>>y1>>x2>>y2;
int temp=x1+x2;
if(y1==x1+x2 && y2!=y1)
{
cnta--;
}
if(y2==x1+x2 && y1!=y2)
{
cntb--;
}
if(y1==y2) continue;
if(cnta<0)
{
cout<<'A'<<endl;
cout<<b-cntb<<endl;
break;
}
if(cntb<0)
{
cout<<"B"<<endl;
cout<<a-cnta<<endl;
break;
}
}
return 0;
}
帅到没朋友
stl set !!!
#include
#include
using namespace std;
int n,k,x,m,flag=0;
set<int> a,ans;
int main()
{
cin>>n;
while(n--)
{
cin>>k;
if(k>=2)
{
while(k--)
{
cin>>x;
a.insert(x);
}
}
else cin>>x;
}
cin>>m;
while(m--)
{
cin>>x;
if(a.find(x)==a.end() && ans.find(x)==ans.end())
{
if(flag) cout<<" ";
flag=1;
ans.insert(x);
printf("%05d",x);
}
}
if(!flag) cout<<"No one is handsome"<<endl;
}
重要的话说三遍
#include
using namespace std;
int main()
{
for(int i=0;i<3;i++)
{
cout<<"I'm gonna WIN!"<<endl;
}
return 0;
}
奇偶分家
#include
using namespace std;
int n,x,cnt;
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>x;
if(x%2==0) cnt++;
}
cout<<n-cnt<<" "<<cnt<<endl;
return 0;
}
输出GPLT
#include
using namespace std;
int g=0,p=0,l=0,t=0;
string s;
int main()
{
getline(cin,s);
for(int i=0;i<s.size();i++)
{
if(s[i]=='g' or s[i]=='G') g++;
if(s[i]=='p' or s[i]=='P') p++;
if(s[i]=='l' or s[i]=='L') l++;
if(s[i]=='t' or s[i]=='T') t++;
}
while(g+p+l+t)
{
if(g)
{
cout<<"G";
g--;
}
if(p)
{
cout<<"P";
p--;
}
if(l)
{
cout<<"L";
l--;
}
if(t)
{
cout<<"T";
t--;
}
}
return 0;
}
后天
#include
using namespace std;
int n;
int main()
{
cin>>n;
int ans=n+2;
if(n==5) cout<<7;
else cout<<ans%7;
return 0;
}
抢红包
#include
#include
using namespace std;
int n,k,id,p;
struct node{
int id,cnt;
float res;
}a[10001];
int cmp(node x,node y)
{
if(x.res!=y.res) return x.res>y.res;
else if(x.cnt!=y.cnt) return x.cnt>y.cnt;
else return x.id<y.id;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
a[i].id=i;
cin>>k;
for(int j=0;j<k;j++)
{
cin>>id>>p;
a[i].res-=p;
a[id].cnt++;
a[id].res+=p;
}
}
sort(a+1,a+n+1,cmp);
for(int i=1;i<=n;i++)
{
printf("%d %.2f\n",a[i].id,a[i].res/100);
}
return 0;
}
排座位
经典的并查集 详细了解!!!
#include
using namespace std;
int n,m,k,x1,x2,r;
int g[101][101],fa[101];
void init(int n)
{
for(int i=1;i<=n;i++) fa[i]=i;
}
int find(int x)
{
if(fa[x]==x) return x;
else
{
fa[x]=find(fa[x]);
return fa[x];
}
}
void merge(int i,int j)
{
fa[find(i)]=find(j);
}
int main()
{
cin>>n>>m>>k;
init(n);
while(m--)
{
cin>>x1>>x2>>r;
if(r==1)
{
merge(x1,x2);
}
else
{
g[x1][x2]=1;
g[x2][x1]=1;
}
}
while(k--)
{
cin>>x1>>x2;
if(find(x1)==find(x2) && !g[x1][x2] && !g[x2][x1]) cout<<"No problem"<<endl;
if(find(x1)!=find(x2) && !g[x1][x2] && !g[x2][x1]) cout<<"OK"<<endl;
if(find(x1)==find(x2) && g[x1][x2] && g[x2][x1]) cout<<"OK but..."<<endl;
if(find(x1)!=find(x2) && g[x1][x2] && g[x2][x1]) cout<<"No way"<<endl;
}
return 0;
}
玩转二叉树
关于堆的判断
AMCMER 该你们表演了。