POJ 1002 487-3279
来源:互联网 发布:常见软件接口类型 编辑:程序博客网 时间:2024/05/16 17:52
学校太让人失望了,居然连POJ都上不去了,还好今天ambition在我用百练AC掉这题后送来了另外一个POJ的网址,双喜临门,害我兴奋了半天,没有POJ的日子痛苦啊。毕竟题目来源还得靠它。
这是曾经没有AC掉的题目,不过在《程序设计导引及在线实践》上看过,看书写代码还是没亲自做的效果好。今天给假期题目来源找题,看中了这题,再次做,强化了一些基本功。
分析几点:
一。A~Z对应一个Hash数组
二。在每输入一个数据时就对数据进行处理,转换字母,去掉’-’
三。qsort的运行,具体看MSDN,这里就讲一点。
一个是二位数组的qsort用法:
123456
int compare( const void *arg1, const void *arg2 ){ return strcmp((char*)arg1, (char*)arg2 );}int arr[n][11];qsort(arr, n, sizeof(arr[0]), compare);
二是qsort的几个参数,这里一直不是记得很清楚。
123456
void qsort( void *base, size_t num, size_t width, int (__cdecl *compare )(const void *, const void *) );
注意:width: Element size in bytes
cmp函数:如果是升序,则e1 > e2应返回1,e1 = e2 应返回0, e1 < e2 应返回-1.降序则相反。
直接发代码了:
时间有点大,是600多MS。
看见网上还有其他方法,大家可以去看看。
题目地址:
http://124.205.79.250/JudgeOnline/problem?id=1002
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
// POJ 487-3279// Author: Tanky Woo#include <iostream>using namespace std; char hash[] = "22233344455566670778889990"; char telphone[100001][20];char temp[20]; int compare( const void *arg1, const void *arg2 ){ return strcmp((char*)arg1, (char*)arg2 );} // www.wutianqi.comint main(){//freopen("input.txt", "r", stdin);int flag = 0;int nCases;scanf("%d", &nCases);for(int i = 0; i < nCases; ++i){getchar();scanf("%s", telphone[i]);int len = strlen(telphone[i]);int t = 0;for(int j = 0; j < len; ++j){if(telphone[i][j] >= 'A' && telphone[i][j] <= 'Z')temp[t++] = hash[telphone[i][j]-'A'];else if(telphone[i][j] >= '0' && telphone[i][j] <= '9')temp[t++] = telphone[i][j];else if(telphone[i][j] == '-');}strcpy(telphone[i], temp);} qsort(telphone, nCases, sizeof(telphone[0]), compare); for(int i = 0; i < nCases; ++i){ int cnt = 1;strcpy(temp, telphone[i]);int j;for(j = i+1; j < nCases; ++j){if(strcmp(temp, telphone[j]) == 0)cnt++;elsebreak;}if(cnt > 1) //这个地方没处理好,麻烦。。。{flag = 1;for(int k = 0; k < 3; ++k)printf("%c", temp[k]);printf("-");for(int k = 3; k < 7; ++k)printf("%c", temp[k]);printf(" %d/n", cnt);}i = j-1;}if(flag == 0)printf("No duplicates./n"); return 0;}
欢迎您来到C++奋斗乐园,原创文章,转载请注明: 转载自Tanky Woo 的程序人生
文章标题: POJ 1002 487-3279
本文链接地址: http://www.wutianqi.com/?p=308
- POJ--1002 487-3279
- POJ 1002 487-3279
- POJ 1002 487-3279
- POJ 1002 487-3279
- poj 1002 "487-3279"
- POJ 1002 487-3279
- poj 1002 487-3279
- poj 1002 487-3279
- POJ-1002 487-3279
- poj 1002 487-3279
- POJ 1002 487-3279
- poj 1002 487-3279
- (POJ 1002) 487-3279
- POJ 1002 487-3279
- POJ 1002 487-3279
- [POJ]1002 487-3279
- POJ 1002 487-3279
- poj 1002 487-3279
- 相关JAA视频教学
- Android 环境建立
- 解决VC2008下气泡提示问题
- HashMap 将object 当做key传入
- asp.net调用摄像头示例程序源代码下载
- POJ 1002 487-3279
- 技巧/诀窍:在ASP.NET中重写URL
- 【POJ】2186.Popular Cows--强连通分量
- VMware装RHEL4.8步骤
- 网站基本测试方法-2. 表单测试的基本方法
- 玩股票简单的介绍
- [转载]linux内存泄露,不再困难!Valgrind工具-击破内存泄露!
- [转载]掌握 Linux 调试技术
- 12 SQL自动调优