UVa 755 - 487--3279
来源:互联网 发布:观网络知识防诈骗有感 编辑:程序博客网 时间:2024/06/05 00:18
题目:给你一些由字母、数字和'-'组成的串,每个字母对应一个数,输出按顺序输出每个数字出现的次数。
分析:字符串、排序。首先建立字母到数的映射,然后吧所有的串都转化成数字。统计、排序、输出。
说明:POJ1002。
#include <iostream>#include <iomanip>#include <cstdlib>#include <cstring>#include <string>#include <cstdio>using namespace std;int phone[26] = {2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,7,0,7,7,8,8,8,9,9,9};string a[100001];int hash[10000001];int main(){ int T,N;while ( cin >> T ) while ( T -- ) {cin >> N; memset( hash , 0 , sizeof( hash ) ); for ( int i = 0 ; i < N ; ++ i ) cin >> a[ i ]; for ( int i = 0 ; i < N ; ++ i ) { int len = a[ i ].length(); int numb = 0; for ( int j = 0 ; j < len ; ++ j ) { if ( a[ i ][ j ] == '-' ) continue; numb *= 10; if ( a[ i ][ j ] >= '0' && a[ i ][ j ] <= '9' ) numb += a[ i ][ j ] - '0'; else numb += phone[ a[ i ][ j ] - 'A' ]; } if ( numb < 10000000 ) hash[ numb ] ++; } int sum = 0; for ( int i = 0 ; i < 10000001 ; ++ i ) if ( hash[ i ] > 1 ) { cout << setfill('0') << setw( 3 ) << ( i/10000 ) << "-"; cout << setfill('0') << setw( 4 ) << ( i%10000 ) << " "; cout << hash[ i ] << endl; sum ++; } if ( !sum ) cout << "No duplicates.\n"; if ( T ) printf("\n");} return 0;}
0 0
- UVa 755 - 487--3279
- uva 755 487--3279
- UVa 755 - 487--3279
- uva 755 - 487--3279
- UVA 755 487-3279
- UVA 755 - 487--3279
- UVa 755 - 487--3279
- UVa: 755 - 487--3279
- Uva-755-487--3279
- UVA 755 - 487--3279
- UVa 755 487-3279
- UVa 755 487-3279
- UVa 755 - 487--3279
- UVa:755 - 487--3279
- UVa 755 - 487--3279
- Uva 755 487--3279
- UVA - 755 487--3279
- UVA 755 - 487--3279
- C#中多条件查询
- 第二章 Swift 基础语法
- 自己整理的HTML基本标签参考知识
- Spring配置数据源的三种方式 (dbcp,c3p0,jndi)
- 50种方法优化SQL Server
- UVa 755 - 487--3279
- Python核心编程之第一个Python程序
- 使用PIG Latin 进行编程
- Nebula3 渲染系统
- Android学习小Demo(4)贝塞尔曲线跟翻页效果
- PHPExcel 学习笔记2(转)
- malloc与calloc、realloc
- 黑马程序员——————————多线程2
- 【LeetCode with Python】 Binary Tree Maximum Path Sum