包括A1001、A1002、A1009、A1042、A1046、A1065
包括一些思想和解法
A1001
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn=100000;
int main ()
{
int a,b;
int sum,temp;
scanf("%d %d",&a,&b);
sum=a+b;
if(sum<0)
temp=-sum;
else
temp=sum;
int y[maxn];
int i=1;
if(temp==0) printf("0");
while(temp>0)
{
y[i]=temp%10;
temp=temp/10;
i++;
}
if(sum<0)
printf("-");
for(int j=i-1;j>=1;j--)
{
if(j%3==0)
{
if(j==i-1)
{
printf("%d",y[j]);
}
else
{
printf(",");
printf("%d",y[j]);
}
}
else
printf("%d",y[j]);
}
return 0;
}
A1002
#include <cstdio>
#include <string>
using namespace std;
const int maxn=1000;
const double inf=1000000;
int main()
{
int k1,k2;
bool inq[maxn]={false};
double q[maxn];
//memset(inq,10000.0,sizeof(inq));
int temp;
scanf("%d",&k1);
int ans=k1;
for(int i=0;i<k1;i++)
{
scanf("%d",&temp);
scanf("%lf",&q[temp]);
inq[temp]=true;
}
scanf("%d",&k2);
double t;
for(int i=0;i<k2;i++)
{
scanf("%d",&temp);
scanf("%lf",&t);
if(inq[temp]==true)
{
q[temp]+=t;
if(q[temp]==0) ans--;
}
else
{
q[temp]=t;
ans++;
inq[temp]=true;
}
}
int j=1000;
if(ans!=0)
printf("%d ",ans);
if(ans==0)
printf("%d",ans);
int sum=0;
while(j>=0)
{
if(inq[j]==true&&q[j]!=0)
{
printf("%d %.1lf",j,q[j]);
sum++;
if(sum<ans)
{
printf(" ");
}
}
j--;
}
return 0;
}
A1009
#include <cstdio>
#include <math.h>
const int maxn=2001;
struct expo
{
int exp;
double coef;
}ep[10];
double q[maxn]={0};
int main()
{
int k1,k2;
scanf("%d",&k1);
for(int i=0;i<k1;i++)
{
scanf("%d %lf",&ep[i].exp,&ep[i].coef);
}
int count=0;
scanf("%d",&k2);
int temp,tempexp;
double m,mcoef;
for(int i=0;i<k2;i++)
{
scanf("%d %lf",&temp,&m);
for(int j=0;j<k1;j++)
{
mcoef=m*ep[j].coef;
tempexp=temp+ep[j].exp;
q[tempexp]=q[tempexp]+mcoef;
}
}
for(int i=0;i<2001;i++)
{
if(fabs(q[i])>=0.05)
count++;
}
printf("%d",count);
int sum=0;
for(int i=2001;i>=0;i--)
{
if(abs(q[i])>=0.05)
{
printf(" %d %.1lf",i,q[i]);
}
}
return 0;
}
A1042
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
string a[55]={"a","S1","S2","S3","S4","S5","S6","S7","S8","S9","S10","S11","S12","S13",
"H1","H2","H3","H4","H5","H6","H7","H8","H9","H10","H11","H12","H13",
"C1","C2","C3","C4","C5","C6","C7","C8","C9","C10","C11","C12","C13",
"D1","D2","D3","D4","D5","D6","D7","D8","D9","D10","D11","D12","D13",
"J1","J2"};
string b[55]={"b","S1","S2","S3","S4","S5","S6","S7","S8","S9","S10","S11","S12","S13",
"H1","H2","H3","H4","H5","H6","H7","H8","H9","H10","H11","H12","H13",
"C1","C2","C3","C4","C5","C6","C7","C8","C9","C10","C11","C12","C13",
"D1","D2","D3","D4","D5","D6","D7","D8","D9","D10","D11","D12","D13",
"J1","J2"};
int c[55]={0};
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=54;i++)
{
scanf("%d",&c[i]);
}
string temp;
int count=1;
while(count<=n)
{
if(count%2==0)
{
for(int i=1;i<=54;i++)
{
temp=b[c[i]];
b[c[i]]=a[i];
a[i]=temp;
}
}
if(count%2!=0)
{
for(int i=1;i<=54;i++)
{
temp=a[c[i]];
a[c[i]]=b[i];
b[i]=temp;
}
}
count++;
}
if(n%2!=0)
{
for(int i=1;i<=54;i++)
{
cout<<a[i];
if(i!=54)
cout<<" ";
}
}
else
{
for(int i=1;i<=54;i++)
{
cout<<b[i];
if(i!=54)
cout<<" ";
}
}
return 0;
}
A1046
#include <cstdio>
using namespace std;
int n;
int w[100000],dis[100000];
int m;
int result[10000];
int main()
{
int u,v;
scanf("%d",&n);
int sum=0,count=0,t;
for(int i=1;i<=n;i++)
{
scanf("%d",&w[i]);
sum+=w[i];
dis[i]=sum;
}
scanf("%d",&m);
for(int i=0;i<m;i++)
{
scanf("%d %d",&u,&v);
if(v>u)
{
int temp=v;
v=u;
u=temp;
}
t=dis[u-1]-dis[v-1];
if(t>sum-t)
result[i]=sum-t;
else
result[i]=t;
count=0;
}
for(int i=0;i<m;i++)
{
printf("%d",result[i]);
if(i!=m-1)
printf("\n");
}
return 0;
}
A1065
#include <cstdio>
int n;
bool inq[11]={false};
long long a,b,c;
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%lld",&a);
scanf("%lld",&b);
scanf("%lld",&c);
long long res=a+b;
if(a>0&&b>0&&res<0)
inq[i]=true;
else if(a<0&&b<0&&res>=0)
inq[i]=false;
else if(res>c)
{
inq[i]=true;
}
else
inq[i]=false;
}
for(int i=1;i<=n;i++)
{
if(inq[i]==true)
{
printf("Case #%d: true\n",i);
}
else
{
printf("Case #%d: false\n",i);
}
}
return 0;
}