UVA If We Were a Child Again(大数相除模板)
2014-12-04 08:47
323 查看
Problem C
If We Were a Child Again
Input: standard input
Output: standard output
Time Limit: 7 seconds
Problemsetter: S. M. Ashraful Kadir, University of Dhaka
If We Were a Child Again
Input: standard input
Output: standard output
Time Limit: 7 seconds
“Oooooooooooooooh! If I could do the easy mathematics like my school days!! I can guarantee, that I’d not make any mistake this time!!” Says a smart university student!! But his teacher even smarter – “Ok! I’d assign you such projects in your software lab. Don’t be so sad.” “Really!!” - the students feels happy. And he feels so happy that he cannot see the smile in his teacher’s face. | ![]() | |
The Problem The first project for the poor student was to make a calculator that can just perform the basic arithmetic operations. But like many other university students he doesn’t like to do any project by himself. He just wants to collect programs from here and there. As you are a friend of him, he asks you to write the program. But, you are also intelligent enough to tackle this kind of people. You agreed to write only the (integer) division and mod (% in C/C++) operations for him. | ||
Input Input is a sequence of lines. Each line will contain an input number. One or more spaces. A sign (division or mod). Again spaces. And another input number. Both the input numbers are non-negative integer. The first one may be arbitrarily long. The second number n will be in the range (0 < n < 231). | ||
[b]Output[/b] A line for each input, each containing an integer. See the sample input and output. Output should not contain any extra space. | ||
[b]Sample Input[/b] 110 / 100 99 % 10 2147483647 / 2147483647 2147483646 % 2147483647 | ||
[b]Sample Output[/b] 1 9 1 2147483646 | ||
#include<iostream> #include<algorithm> #include<stdio.h> #include<string.h> #include<stdlib.h> #include<string> #include<map> using namespace std; int n,m; struct node { int x,y; } q[100010]; int cmp(const void *a,const void *b) { return (*(struct node*)a).y - (*(struct node*)b).y; } int main() { int e = 0; while(scanf("%d%d",&n,&m)!=EOF) { char a[10001]; map<string,int>p; //map<string,int>::iterator it; for(int i=0; i<n; i++) { scanf("%s",a); for(int j=0; a[j]!='\0'; j++) { if(a[j]>='A' && a[j]<='Z') { a[j] = a[j] + 32; } } p[a] = 1; } char b[3001][101]; char str[3001][110]; memset(q,0,sizeof(q)); getchar(); for(int i=0; i<m; i++) { gets(b[i]); int t = 0; int k = 0; for(int j=0; b[i][j]!='\0'; j++) { if((b[i][j] >='a' && b[i][j]<='z') || (b[i][j]>='A' && b[i][j]<='Z')) { str[t][k++] = b[i][j]; } else { str[t][k] = '\0'; t++; k = 0; } } str[t][k] = '\0'; q[i].x = i; for(int j=0; j<=t; j++) { if((str[j][0] >='A' && str[j][0]<='Z') || (str[j][0]>='a' && str[j][0]<='z')) { for(int v=0; str[j][v]!='\0'; v++) { if(str[j][v]>='A' && str[j][v]<='Z') { str[j][v] = str[j][v] + 32; } } if((str[j][0] >='a' && str[j][0]<='z') && p[str[j]] == 1) { //printf("%s\n",str[j]); q[i].y++; } } } } //qsort(q,m,sizeof(q[0]),cmp); int max = 0; for(int i=0;i<m;i++) { if(max<q[i].y) { max = q[i].y; } } printf("Excuse Set #%d\n",++e); for(int i=0;i<m;i++) { if(max == q[i].y) { printf("%s\n",b[q[i].x]); } } /*printf("%s\n",b[q[m-1].x]); for(int i=m-2; i>=0; i--) { if(q[i].y == q[i+1].y) { printf("%s\n",b[q[i].x]); } else { break; } }*/ printf("\n"); } return 0; }
相关文章推荐
- UVA - 10106 Product(大数模板)
- Edge Case(UVALive 6270)(大数加法)(模板)
- Uva 10494 - If We Were a Child Again(大数相除)
- uva 10494(大数加减乘除取余一条龙模板代码) uva 10023 (大数开方)
- UVA 10494 - If We Were a Child Again(大数与整型相除取整和取余)
- c++大数模板
- c++ 大数类 大数模板
- 大数乘法模板
- 模板整理---大数模板
- C++大数模板 hdu1134 Catalan数
- 大数模板
- uva 10069 Distinct Subsequences(DP + 大数相加)
- 大数相加模板
- △UVA424 - Integer Inquiry(大数相加)
- 容斥原理 + 大数模板(跳蚤 POJ - 1091)
- UVA 10106 - Product(大数乘法)
- UVALive-4670 Dominating Patterns / 洛谷 3796 【模板】AC自动机
- 蓝桥杯PREV-34(数论+大数相乘大数开方模板)
- 51nod 1028 大数乘法 V2 【FFT模板题】
- C++ 大数模板