pat乙级 1046-1050

//1
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
int jia,jia1,yi,yi1;
int cnt1=0,cnt2=0,sum;
while(n--){
scanf("%d %d %d %d",&jia,&jia1,&yi,&yi1);
if( ((jia1==yi1)&&jia1==(jia+yi))
||(jia1!=(jia+yi)&&yi1!=(jia+yi))) continue;
else if(jia1==(jia+yi)&&jia1!=yi1) cnt2++;
else if(yi1==(jia+yi)&&jia1!=yi1) cnt1++;
}
printf("%d %d\n",cnt1,cnt2);
return 0;
}
//2
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
int s[1010]={0};
int a,b,c;
for(int i=0;i<n;i++){
scanf("%d-%d %d",&a,&b,&c);
s[a]+=c;
}
int t=1;
for(int i=2;i<1001;i++){
if(s[i]>s[t])
t=i;
}
printf("%d %d",t,s[t]);
return 0;
}
//3
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[101]={0},b[101]={0};
char c[101];
string s1,s2;
cin>>s1>>s2;
int l1=s1.length();
int l2=s2.length();
for(int i=0;i<l1;i++){
a[i]=s1[l1-1-i]-'0';
}
for(int i=0;i<l2;i++){
b[i]=s2[l2-1-i]-'0';
}
int l=l1>l2?l1:l2;
for(int i=0;i<l;i++){
if(i%2==0){
if((a[i]+b[i])%13==10) c[i]='J';
else if((a[i]+b[i])%13==11) c[i]='Q';
else if((a[i]+b[i])%13==12) c[i]='K';
else c[i]=(a[i]+b[i])%13+'0';
}else{
int m=b[i]-a[i];
if(m<0) m+=10;
c[i]=m+'0';
}
}
for(int i=l-1;i>=0;i--)
printf("%c",c[i]);
return 0;
}

//4
#include<stdio.h>
int main(){
int n;
scanf("%d",&n);
double s[n],sum=0;
for(int i=0;i<n;i++)
scanf("%lf",&s[i]);
for(int i=0;i<n;i++){
sum+=s[i]*(i+1)*(n-i);
}
printf("%.2lf",sum);
return 0;
}
//5
#include<bits/stdc++.h>
using namespace std;
int cmp(int a,int b){
return a>=b;
}
int main(){
int t;
scanf("%d",&t);
int a[t];
for(int i=0;i<t;i++)
scanf("%d",&a[i]);
//qsort(a,t,sizeof(int),cmp);
sort(a,a+t,cmp);
int m,n;
for(int i=sqrt(double(t));i>=1;i--){
if(t%i==0){
n=i;
break;
}
}
m=t/n;
int s[m][n];
int lcol=0,rcol=n-1,urow=0,drow=m-1,i=0;
for(int k=n/2+n%2;k>=0;k--){
for(int j=lcol;j<=rcol&&i!=t;j++,i++){
s[urow][j]=a[i];
}
urow++;
for(int j=urow;j<=drow&&i!=t;j++,i++){
s[j][rcol]=a[i];
}
rcol--;
for(int j=rcol;j>=lcol&&i!=t;j--,i++){
s[drow][j]=a[i];
}
drow--;
for(int j=drow;j>=urow&&i!=t;j--,i++){
s[j][lcol]=a[i];
}
lcol++;
}
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(j==n-1) printf("%d\n",s[i][j]);
else printf("%d ",s[i][j]);
}
}
return 0;
}

posted @ 2019-02-21 21:45  捕鱼儿海  阅读(136)  评论(0编辑  收藏  举报