poj 1002 487-3279
2015-03-19 12:55
295 查看
原题链接:http://poj.org/problem?id=1002
简单题,快排。具体实现如下:
简单题,快排。具体实现如下:
[code]#include<stdio.h> #include<stdlib.h> #include<string.h> #define Max_N 200000 int ret[Max_N]; int cmp(const void *a, const void *b){ return *(int *)a - *(int *)b; } int _switch(char ch){ if (ch == 'A' || ch == 'B' || ch == 'C') return 2; else if (ch == 'D' || ch == 'E' || ch == 'F') return 3; else if (ch == 'G' || ch == 'H' || ch == 'I') return 4; else if (ch == 'J' || ch == 'K' || ch == 'L') return 5; else if (ch == 'M' || ch == 'N' || ch == 'O') return 6; else if (ch == 'P' || ch == 'R' || ch == 'S') return 7; else if (ch == 'T' || ch == 'U' || ch == 'V') return 8; else if (ch == 'W' || ch == 'X' || ch == 'Y') return 9; return ch - '0'; } int main(){ #ifdef LOCAL freopen("in.txt", "r", stdin); freopen("out.txt", "w+", stdout); #endif char buf[300]; int t, i, n, cnt, sum, flag = 0, k = 0; scanf("%d\n", &t); while (t--){ gets(buf); sum = 0; for (i = 0; buf[i]!='\0'; i++){ if (buf[i] >= '0' && buf[i] <= '9' || buf[i] >= 'A' && buf[i] <= 'Z'){ sum = sum * 10 + _switch(buf[i]); } } ret[k++] = sum; } i = 0; qsort(ret, k, sizeof(ret[0]), cmp); while (i < k){ cnt = 0, n = ret[i]; for (; n == ret[i]; i++) cnt++; if (cnt > 1){ flag = 1; printf("%03d-%04d %d\n", n / 10000, n % 10000, cnt); } } if (!flag) printf("No duplicates.\n"); return 0; }
相关文章推荐
- POJ 1002 487-3279
- POJ 1002 487-3279 解题报告
- poj 1002 487-3279
- poj 字符串相关之1002 487-3279
- 【poj1002】487-3279
- POJ1002_487-3279_C++
- 【poj1002】487-3279
- POJ 一 1002 487-3279
- poj 1002 487-3279
- [DP] POJ - 1002 487-3279
- [c]poj1002 487-3279
- poj 1002 487-3279
- 开篇,UVA 755 && POJ 1002 487--3279 (Trie + DFS / sort)
- poj 1002 487-3279
- [POJ 1002] 487-3279 C++解题报告
- POJ 1002 487-3279
- uva 755/poj 1002 487-3279
- POJ1002 487-3279(map映射)
- POJ - 1002 487-3279 (Trie树)
- POJ1002 487-3279