zoj1715
来源:互联网 发布:python矩阵转化为列表 编辑:程序博客网 时间:2024/05/29 14:40
恩,这道题虽然花的时间长了些,主要是浪费在细节上了,代码中,数组b用来存放所有出现过的天数,数组c用来存放数组b中每一种天数出现的次数,并且两数组一一对应,所以在函数sort中进行的排序过程中,两个同步调移动,以此来保证两数组的一一对应关系不变,其他的也就没什么了,以我现在的水平刷这道水题,暂时只想起了这种笨方法,以后再提高吧
#include<stdio.h>int xx(int x,int a[102],int top){ int i,k=-1; for(i=0;i<top;i++) if(x==a[i]) { k=i; break; } return k;} void sort(int b[],int c[],int top)//排序 { int i,j,k; for(i=0;i<top-1;i++) for(j=i+1;j<top;j++) if(b[i]>b[j]) { k=b[i]; b[i]=b[j]; b[j]=k; k=c[i]; c[i]=c[j]; c[j]=k; }}int main(){ int i,j,n,q,top,ttt,a[52][102],b[102],c[102],zeo=0; scanf("%d%d",&n,&q); while(!(n==0&&q==0)) { top=0; b[0]=0; for(i=0;i<102;i++) c[i]=1; for(i=0;i<n;i++) //数据输入 { scanf("%d",&a[i][0]); for(j=1;j<=a[i][0];j++) scanf("%d",&a[i][j]); } for(i=0;i<n;i++) for(j=1;j<=a[i][0];j++) { if(xx(a[i][j],b,top)==-1)//将出现过的天数放入数组b b[top++]=a[i][j]; else c[xx(a[i][j],b,top)]++; //将b中各天数出现过的次数放入c,并保持b与c的一一对应 } sort(b,c,top); ttt=0; for(i=1;i<top;i++) if(c[i]>c[ttt]) ttt=i; if(c[ttt]>=q) printf("%d\n",b[ttt]); else printf("%d\n",zeo); scanf("%d%d",&n,&q); } return 0;}
- ZOJ1715
- zoj1715
- zoj1715
- zoj1715
- zoj1715
- ZOJ1715
- zoj1715
- zoj1715---------------------When Can We Meet?
- ZOJ1715 POJ2028 When Can We Meet? 简单的数组题
- poj1019
- 2011-7-30读书目录
- Silverlight使用WCF操纵数据库(SQL Server)指南
- Intel x86CPU系列的寻址方式
- 一道趣味面试题(c)
- zoj1715
- android 学习笔记(二)
- 编译Linux内核数
- Ubuntu文件系统和目录结构
- 团队,一个说不完的话题
- SDL在vc6下的编译
- 解决LINQ多个DataContext查询问题
- 关于CTS的testPackageSignatures()
- centos 启动的时候卡在了 Starting udev 界面,暂时解决