#include <cstdio> int main(){ int kase, aNum, bNum, i; scanf("%d", &kase); while(kase--){ scanf("%d%d", &aNum, &bNum); int sum1 = 0, sum2 = 0, t; for(i = 0; i < aNum; i++){ scanf("%d", &t); sum1 += t; } for(i = 0; i < bNum; i++){ scanf("%d", &t); sum2 += t; } if(sum1 == sum2) printf("Draw\n"); else printf("%s\n", sum1 > sum2 ? "Calem" : "Serena"); } return 0; }
#include <stdio.h>/*int pos[9][9]={{0,0,0,0,0,0,0,0},{0,1,1,1,1,1,1,1},{0,2,4,1,2,4,1,2},{0,3,2,6,4,5,1,3},{0,4,2,1,4,2,1,4},{0,5,4,6,2,3,1,5},{0,6,1,6,1,6,1,6,1},{0,0,0,0,0,0,0,0}};*/char WD[7][10] = { "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};int pos[9][9]={{0,0,0,0,0,0,0,0},{0,1,4,6,4,3,1,0},{0,1,1,4,2,1,6,0},{0,1,2,5,1,5,1,0},{0,1,4,1,4,5,6,0},{0,1,1,3,2,4,1,0},{0,1,2,3,1,6,6,0},{0,1,4,2,4,2,1,0}};int mod_sum(int n){ int ans=0; for(int i=1;i<=n;i++){ for(int j=1;j<=7;j++) ans+=pos[i][j]; } return ans%7; }int mod_end_sum(int end_r){ int ans=0; for(int i=1;i<=end_r;i++) for(int j=1;j<=7;j++) { ans+=pos[i][j]; } return ans%7;}int end_line_sum(int end_r,int end_c){ int ans=0; for(int i=1;i<=end_c;i++) ans += pos[end_r+1][i]; return ans%7;}int main(){ int N; int mod_N,d_d_N,d_mod_N,d_N; int tcase; int mod_all=mod_sum(7); scanf("%d",&tcase); while(tcase--){ scanf("%d",&N); int sum=0; d_mod_N=0; mod_N=0; mod_N=N%7; if(mod_N==0) mod_N=7; d_N=N/7; if(d_N>0){ d_mod_N=d_N%7; d_d_N=d_N/7; if(d_mod_N==0) d_mod_N=7; if(d_d_N>0) sum+=d_d_N*mod_all%7; sum+=mod_end_sum(d_mod_N); } sum+=end_line_sum(d_mod_N,mod_N); if(sum%7) sum=sum%7; else sum=7; printf("%s\n",WD[sum-1]); } return 0; }表达式
#include <cstdio> #include <cstring> #include <stack> using namespace std; struct node{ int v; node *l, *r; node(int c){ v = c; l = r = NULL; } }; stack<node*> p; stack<char> q; char str[1024]; int len; int getOrder(char c){ switch(c){ case '+': case '-': return 0; case '*': case '/': case '%': return 1; } } void PUSH(int &i){ int tmp = 0; while(str[i] <= '9' && str[i] >= '0'){ tmp *= 10; tmp += str[i] - '0'; i++; } node *t = new node(tmp); p.push(t); i--; } void buildNode(){ node *t1, *t2; char s; t2 = p.top(); p.pop(); t1 = p.top(); p.pop(); s = q.top(); q.pop(); node *N = new node(s); N->l = t1; N->r = t2; p.push(N); } void buildTree(){ for(int i = 0; i < len; i++){ //printf("Accessing char \"%c\"\n", str[i]); if(str[i] == ' ') continue; else if(str[i] >= '0' && str[i] <= '9') PUSH(i); else{ if(!q.empty() && getOrder(q.top()) >= getOrder(str[i])) buildNode(); q.push(str[i]); } } while(!q.empty()) buildNode(); } void POTraverse(node *t){ if(t){ POTraverse(t->l); POTraverse(t->r); printf("%c", t->v); } } int calc(int a, int b, char s){ switch(s){ case '+': return a + b; case '-': return a - b; case '*': return a * b; case '/': return a / b; case '%': return a % b; } } int solveIt(node *t){ if(t){ if(!t->l){ //printf("Accessing Operand %d\n", t->v); return t->v; }else{ //printf("Accessing Operator %c\n", t->v); int a = solveIt(t->l); int b = solveIt(t->r); return calc(a, b, t->v); } } return 0; } int main(){ int kase; scanf("%d ", &kase); while(kase--){ //scanf("%s", str); gets(str); len = strlen(str); buildTree(); //POTraverse(p.top()); //printf("\n"); printf("%d\n", solveIt(p.top())); p.pop(); } return 0; }
what is the day
最新推荐文章于 2020-12-30 08:32:46 发布