The 11th Zhejiang Provincial Collegiate Programming Contest

来源:互联网 发布:java 取模 编辑:程序博客网 时间:2024/04/28 08:06
A
#include<iostream>#include<cstdio>using namespace std;int main(){int a[1111],b[1111];int T,n,m;cin>>T;while(T--){cin>>n>>m;int i;int s1 = 0 ,s2 = 0;for(i=1;i<=n;i++)  {int x;cin>>x;s1+=x;}for(i=1;i<=m;i++)  {int x;cin>>x;s2+=x;}if(s1>s2)   cout<<"Calem"<<endl;else if(s1<s2)  cout<<"Serena"<<endl;else cout<<"Draw"<<endl;}return 0;}



G

#include<iostream>#include<cstdio>using namespace std;int main(){int a,b,c;char c1,c2;int T;cin>>T;while(T--){scanf("%d %c %d %c %d",&a,&c1,&b,&c2,&c);int ans1 = 0 ;if(c1=='*'||c1=='%'||c1=='/'){if(c1=='*')   ans1 = a*b;else  if(c1=='/') ans1 = a/b;else  ans1 = a%b;switch(c2){case '+':cout<<ans1+c<<endl;   break;case '-':cout<<ans1-c<<endl;   break;case '*':cout<<ans1*c<<endl;   break;case '%':cout<<ans1%c<<endl;   break;case '/':    cout<<ans1/c<<endl;   break;}}else {if(c2=='+'||c2=='-')  {if(c1=='+')   ans1 = a+b;    else  ans1 = a-b;    switch(c2)    {case '+':cout<<ans1+c<<endl;   break;case '-':cout<<ans1-c<<endl;   break;case '*':cout<<ans1*c<<endl;   break;case '%':cout<<ans1%c<<endl;   break;case '/':cout<<ans1/c<<endl;   break;    }}else {if(c2=='*')   ans1 = c*b;    else  if(c2=='/')    ans1 = b/c;    else  ans1 = b%c;    switch(c1)    {case '+':cout<<ans1+a<<endl;   break;case '-':cout<<a-ans1<<endl;   break;case '*':cout<<ans1*a<<endl;   break;case '%':cout<<ans1%a<<endl;   break;case '/':cout<<ans1/a<<endl;   break;    }}}}return 0;}

L   模拟题

#include <iostream>#include <stdio.h>#include <algorithm>#include <vector>#include <iterator>using namespace std;const int MAX_N = 20000 + 100;int T, n, m;struct Stu{    int time;    int i;};int cmp(Stu s1, Stu s2){    return s1.time < s2.time;}Stu s[MAX_N];vector <int> q;int main(){    scanf("%d", &T);    while(T--)    {        scanf("%d%d" , &n, &m);        int cnt, res, a, b, c, tmp;        cnt = 0;        for(int i = 0; i < n; i++)        {            scanf("%d:%d:%d", &a, &b, &c);            s[i].time = a * 60 * 60 + b * 60 + c;            s[i].i = i + 1;        }        sort(s, s + n, cmp);        tmp = s[0].time;        cnt++;        q.push_back(s[0].i);        for(int i = 1; i < n; i++)        {            if(s[i].time - tmp >= m)            {                cnt++;                tmp = s[i].time;                q.push_back(s[i].i);            }        }        printf("%d\n", cnt);        sort(q.begin(), q.end());        vector<int>::iterator iter;        for(iter = q.begin(); iter != q.end() - 1; iter++)            printf("%d ", *iter);        printf("%d\n", *iter);        q.clear();    }    return 0;}

J  每四十二组是一个循环周期

//Author£ºCY//School: CUST#include<iostream>#include<cstring>#include<algorithm>#include<cstdlib>#include<vector>#include<cmath>#include<stdlib.h>#include<iomanip>#include<list>#include<deque>#include<map>#include <stdio.h>#define PI 3.1415926535897using namespace std;string day[8]={ "Saturday","Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" };int num1[7]={1,1,1,1,1,1};//6int num2[7]={4,1,2,4,1,2};//14int num3[7]={6,4,5,1,3,2};//21int num4[7]={4,2,1,4,2,1};//14int num5[7]={3,1,5,4,6,2};//16int num6[7]={1,6,1,6,1,6};//14int num0[7]={0,0,0,0,0,0};int getnum[8];int main(){    int t;    cin>>t;    while(t--){        int n;        cin>>n;        int i,j,k;        long long sum=0;        int times=n/42;        sum+=((times*6)%7);        times=n%42;        int numtimes=0;        for(i=1;i<=times;i++){            sum+=num1[numtimes];            i++;            if(i>times)break;            sum+=num2[numtimes];            i++;            if(i>times)break;            sum+=num3[numtimes];            i++;            if(i>times)break;            sum+=num4[numtimes];            i++;            if(i>times)break;            sum+=num5[numtimes];            i++;            if(i>times)break;            sum+=num6[numtimes];            i++;            if(i>times)break;            sum+=num0[numtimes];            sum=sum%7;            numtimes++;        }       // cout<<sum%7<<endl;        cout<<day[sum%7]<<endl;    }    return 0;}
C 贪心

#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;int a[111111];int max(int a,int b){return  a>b?a:b;}int main(){int T;scanf("%d",&T);while(T--){long long n,m;cin>>n>>m;int i,j;int ma = 0;long long s = 0;for(i=1;i<=n;i++){cin>>a[i];ma = max(ma,a[i]);s+=a[i];}long long t = s/m;if(s%m!=0)   t++;if(t<=ma)   t = ma;cout<<t<<endl; }return 0;}



0 0