2016四川省赛A,C【写了1w个if的水题】
A题:
#include <iostream> #include <stdio.h> #include <string.h> #include <algorithm> #include <queue> #include <math.h> using namespace std; typedef long long LL; const int MAX=100010; int n,m; int a[MAX],b[MAX]; int main() { int i,j,k,t,l; int a,b,c; while(~scanf("%d%d%d",&a,&b,&c)) { int sum=0; int a1,a2,b1,b2,c1,c2; scanf("%d%d%d",&a1,&b1,&c1); scanf("%d%d%d",&a2,&b2,&c2); if(a>=a2) sum+=(a-a2)*(a-a2); else if(a<=a1) sum+=(a1-a)*(a1-a); if(b>=b2) sum+=(b-b2)*(b-b2); else if(b<=b1) sum+=(b1-b)*(b1-b); if(c>=c2) sum+=(c-c2)*(c-c2); else if(c<=c1) sum+=(c1-c)*(c1-c); printf("%d\n",sum); } return 0; }
C题:
#include <bits/stdc++.h> using namespace std; typedef long long LL; int main() { LL a,b,c; LL sum; scanf("%lld%lld%lld",&a,&b,&c); sum=a+2*b+3*c; if(!a&&!b&&!c) { puts("0"); } if(a==0&&b==0&&c) { printf("%lld\n",sum/3); } if(a>=1&&b>=1&&c) { printf("%lld\n",sum); } if(a>=2&&b==0&&c) { printf("%lld\n",sum); } if(a==1&&!b&&c) { printf("%lld\n",sum*2/3+1); } if(a==0&&b==1&&c) { printf("%lld\n",2*sum/3); } if(a==0&&b>=2&&c) { printf("%lld\n",sum-2); } if(!a&&b&&!c) { printf("%lld\n",sum/2); } if(a&&b&&!c) { printf("%lld\n",sum); } if(a&&!b&&!c) { printf("%lld\n",sum); } return 0; }