@baobaobear
2020-02-18T14:03:29.000000Z
字数 5642
阅读 218
practise
#include<stdio.h>
int main()
{
int a[4],flag=0,max=0;
for(int i=0;i<4;i++)
{
scanf("%d",&a[i]);
if(max<a[i])max=a[i];
}
for(int i=0;i<4;i++)
{
if(max!=a[i])
{
if(flag==0)printf("%d",max-a[i]);
else printf(" %d",max-a[i]);
flag=1;
}
}
printf("\n");
}
#include<stdio.h>
#include<math.h>
int main()
{
int q,k[100],p,temp;
long long a,ans;
scanf("%d",&q);
while(q--)
{
scanf("%lld",&a);
p=0;ans=0;temp=-1;
for(int i=0;i<100;i++)k[i]=0;
while(a)
{
k[p]=a%3;
a/=3;
p++;
}
for(int i=0;i<p;i++)
{
if(k[i]>=2)
{
temp=i;
k[i]=0;
k[i+1]++;
if(i+1>=p)p++;
}
}
if(temp!=-1)for(int i=0;i<temp;i++)k[i]=0;
long long jishu=1;
for(int i=0;i<=p;i++)
{
ans+=k[i]*jishu;
jishu*=3;
}
printf("%lld\n",ans);
}
}
#include<stdio.h>
#include<string.h>
char ch[205][11],str[11];
int s[205];
int main()
{
int a,b,k=0;
scanf("%d",&a);
getchar();
for(int i=0;i<a;i++)
{
scanf("%s",str);
int flag=0;
for(int j=0;j<k;j++)
{
if(strcmp(ch[j],str)==0)
{
flag=1;
s[j]++;
break;
}
}
if(flag==0)
{
strcpy(ch[k],str);
s[k]++;
k++;
}
}
scanf("%d",&b);
getchar();
for(int i=0;i<b;i++)
{
scanf("%s",str);
int flag=0;
for(int j=0;j<k;j++)
{
if(strcmp(ch[j],str)==0)
{
flag=1;
s[j]--;
break;
}
}
if(flag==0)
{
strcpy(ch[k],str);
s[k]--;
k++;
}
}
int max=0;
for(int i=0;i<k;i++)if(s[i]>max)max=s[i];
printf("%d\n",max);
}
#include<bits/stdc++.h>
#define ll long long
#define mod 1000000007
typedef unsigned long long ull;
const int INF=0x3f3f3f3f;
const int N=2e5+5;
using namespace std;
int a[N]={0};
int t,m;
int n,flag;
int main(){
cin>>t;
while(t--){
cin>>n;
flag=0;
for(int i=2;i*i<=n;i++){
if(n%i==0){
for(int j=i+1;j*j<=(n/i);j++){
if((n/i)%j==0){
if((n/i)/j!=j){
flag=1;
cout<<"YES"<<endl;
printf("%d %d %d\n",i,j,(n/i)/j);
break;
}
}
}
}
if(flag) break;
}
if(!flag) cout<<"NO"<<endl;
}
return 0;
}
#include<bits/stdc++.h>
#define ll long long
#define mod 1000000007
typedef unsigned long long ull;
const int INF=0x3f3f3f3f;
const int N=2e5+5;
using namespace std;
int a[N]={0};
int t,m,s=0,dis[105]={0};
int n,flag,vis[105]={0};
int main(){
cin>>t;
for(int i=0;i<t;i++){
cin>>a[i];
if(vis[a[i]]==0){
dis[s]=a[i];
s++;
}
vis[a[i]]++;
}
sort(dis,dis+s);
if(s==1) cout<<"0"<<endl;
else if(s==2){
if((dis[1]-dis[0])%2==0) cout<<(dis[1]-dis[0])/2<<endl;
else cout<<(dis[1]-dis[0])<<endl;
}else if(s>3) cout<<"-1"<<endl;
else{
int b=dis[2]-dis[1],c=dis[1]-dis[0];
if(b==c) cout<<b<<endl;
else cout<<"-1"<<endl;
}
return 0;
}
#include<stdio.h>
int ans[1005][1005];
int main()
{
int n,a[1005],sum[1005],b,k;
scanf("%d",&n);
for(int i=0;i<1005;i++)sum[i]=0;
for(int i=0;i<n*n;i++)
{
scanf("%d",&b);
int flag=0;
for(int j=0;j<k;j++)
{
if(b==a[j]&&sum[j]<4)
{
sum[j]++;
flag=1;
break;
}
}
if(flag==0)
{
a[k]=b;
sum[k]=1;
k++;
}
}
if(n%2==0)
{
for(int i=0;i<k;i++)
{
if(sum[i]!=4)
{
printf("NO\n");
return 0;
}
}
printf("YES\n");
int s=0;
for(int i=0;i<n/2;i++)
{
for(int j=0;j<n/2;j++)
{
ans[i][j]=a[s];
ans[i][n-1-j]=a[s];
ans[n-1-i][j]=a[s];
ans[n-1-i][n-1-j]=a[s];
s++;
}
}
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(j==n-1)printf("%d\n",ans[i][j]);
else printf("%d ",ans[i][j]);
}
}
}
else
{
int s=0;
for(int i=0;i<n/2;i++)
{
for(int j=0;j<n/2;j++)
{
while(sum[s]!=4)
{
s++;
if(s>=k)
{
printf("NO\n");
return 0;
}
}
ans[i][j]=a[s];
ans[i][n-1-j]=a[s];
ans[n-1-i][j]=a[s];
ans[n-1-i][n-1-j]=a[s];
sum[s]=0;
}
}
s=0;
for(int i=0;i<n/2;i++)
{
while(sum[s]<2)
{
s++;
if(s>=k)
{
printf("NO\n");
return 0;
}
}
ans[n/2][i]=a[s];
ans[n/2][n-1-i]=a[s];
sum[s]-=2;
}
s=0;
for(int i=0;i<n/2;i++)
{
while(sum[s]<2)
{
s++;
if(s>=k)
{
printf("NO\n");
return 0;
}
}
ans[i][n/2]=a[s];
ans[n-1-i][n/2]=a[s];
sum[s]-=2;
}
for(int i=0;i<k;i++)if(sum[i])ans[n/2][n/2]=a[i];
printf("YES\n");
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(j==n-1)printf("%d\n",ans[i][j]);
else printf("%d ",ans[i][j]);
}
}
}
}
#include<stdio.h>
struct node
{
int x1;
int y1;
int x2;
int y2;
}w,b1,b2;
int main()
{
scanf("%d%d%d%d",&w.x1,&w.y1,&w.x2,&w.y2);
scanf("%d%d%d%d",&b1.x1,&b1.y1,&b1.x2,&b1.y2);
scanf("%d%d%d%d",&b2.x1,&b2.y1,&b2.x2,&b2.y2);
if((b2.x1<=w.x1&&b2.x2>=w.x2&&b2.y1<=w.y1&&b2.y2>=w.y2)||(b1.x1<=w.x1&&b1.x2>=w.x2 &&b1.y1<=w.y1&&b1.y2>=w.y2)||(b2.x1<=w.x1&&b2.x2>=w.x2&&b1.x1<=w.x1&&b1.x2>=w.x2&&b1.y1<=w.y1&&b2.y2>=w.y2&&b1.y2>=b2.y1)||(b2.x1<=w.x1&&b2.x2>=w.x2&&b1.x1<=w.x1&&b1.x2>=w.x2&&b2.y1<=w.y1&&b1.y2>=w.y2&&b2.y2>=b1.y1)||(b2.y1<=w.y1&&b2.y2>=w.y2&&b1.y1<=w.y1&&b1.y2>=w.y2&&b1.x1<=w.x1&&b2.x2>=w.x2&&b1.x2>=b2.x1)||(b2.y1<=w.y1&&b2.y2>=w.y2&&b1.y1<=w.y1&&b1.y2>=w.y2&&b2.x1<=w.x1&&b1.x2>=w.x2&&b2.x2>=b1.x1))
printf("NO\n");
else printf("YES\n");
}
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
#include<stack>
#define ll long long
#define N 200000
using namespace std;
int num[N];
int main() {
int n, ans = 0;
cin >> n;
int flag = 0;
for (int i = 1; i <= n; i++)
{
cin >> num[i];
}
sort(num + 1, num + 1 + n);
for (int i = 1; i <= n; i++)
{
for (int j = -1; j <= 1; j++)
{
if (flag < num[i] + j)
{
flag = num[i] + j;
ans++;
break;
}
}
}
printf("%d", ans);
return 0;
}
#include<stdio.h>
#include<stdlib.h>
struct node
{
int l;
int r;
int d;
bool del;
}line[205];
int inc(const void *a, const void *b)
{
struct node m = *(struct node *)a;
struct node n = *(struct node *)b;
if(m.r!=n.r) return m.r - n.r;
}
int main()
{
int n,k,sum[205],ans=0,p[205];
scanf("%d%d",&n,&k);
for(int i=0;i<205;i++)sum[i]=0;
for(int i=0;i<n;i++)
{
scanf("%d%d",&line[i].l,&line[i].r);
line[i].d=i+1;
line[i].del=false;
for(int j=line[i].l;j<=line[i].r;j++)sum[j]++;
}
qsort(line,n,sizeof(struct node),inc);
for(int i=0;i<205;i++)
{
int c=n-1;
while(sum[i]>k)
{
while(line[c].l>i||line[c].del==true)c--;
line[c].del=true;
for(int j=line[c].l;j<=line[c].r;j++)sum[j]--;
p[ans]=line[c].d;
ans++;
}
}
printf("%d\n",ans);
if(ans>=1)
{
for(int i=0;i<ans-1;i++)printf("%d ",p[i]);
printf("%d\n",p[ans-1]);
}
}
#include<iostream>
#include<queue>
using namespace std;
long long a[100005];
int main()
{
long long n,m,k,price,sum=0;
priority_queue<long long>que;
scanf("%lld%lld",&n,&m);
for(int i=0;i<n;i++)scanf("%lld",&a[i]);
for(int i=0;i<n;i++)que.push(a[i]);
while(m>0)
{
price=que.top();
price/=2;
m--;
que.pop();
que.push(price);
}
while(!que.empty())
{
sum+=que.top();
que.pop();
}
printf("%lld\n",sum);
}