NYOJ 157 487-3279(map)

来源:互联网 发布:mac ss 客户端 编辑:程序博客网 时间:2024/05/16 11:43


题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=157

大意就是处理下这些字符串,然后重复两次以上的输出
#include<cstdio>#include<cstring>#include<map>#include<iostream>using namespace std;int main() {  char str[20], num[20];  int n;  map<string, int> q;  map<string, int>::iterator it;  scanf("%d", &n);  getchar();  for(int i = 0; i < n; i++) {    gets(str);    int temp = 0;    for(int j = 0; j < strlen(str); j++) {      if(str[j] >= '0' && str[j] <= '9') {        num[temp++] = str[j];      } else if(str[j] >= 'A' && str[j] <= 'Z') {          if(str[j] <= 'C') num[temp] = '2';          else if(str[j] <= 'F') num[temp] = '3';          else if(str[j] <= 'I') num[temp] = '4';          else if(str[j] <= 'L') num[temp] = '5';          else if(str[j] <= 'O') num[temp] = '6';          else if(str[j] <= 'S') num[temp] = '7';          else if(str[j] <= 'V') num[temp] = '8';          else if(str[j] <= 'Y') num[temp] = '9';          temp++;      }      if(temp == 3) num[temp++] = '-';    }     num[temp] = '\0';    q[num] += 1;  }   for(it = q.begin(); it != q.end(); it++)    if(it -> second >= 2)      cout << it -> first << " " << it -> second << endl;} 


原创粉丝点击