1068统计数字解题报告
2015-01-16 22:15
176 查看
上次写的代码改改就对了。。。今天惊奇的发现VS2010居然可以用sort,原来是要建成cpp的格式。。。
描述
某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。
输入
包含n+1行:
第1行是整数n(1<=n<=200000),表示自然数的个数。
第2~n+1行每行一个自然数。
输出
包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。
样例输入
8
2
4
2
4
5
100
2
100
样例输出
2 3
4 2
5 1
100 2
代码:
#include<stdio.h>
#include<algorithm>
#define N 200000
int a[N+10];
using namespace std;
int main()
{
int num,i,j,n;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n);
for(j=0,num=1;j<n;j++)
{
if(a[j+1]==a[j])
{
num+=1;
}
else
{
printf("%d %d\n",a[j],num);
num=1;
}
}
}
return 0;
}
思路就是:输入,排序,输出。。输出的时候如果后一个数等于前一个数(计数器num++ Ps:num初值是1.)如果后一个数不等于前一个数就输出呗。没了。
描述
某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109)。已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统计结果。
输入
包含n+1行:
第1行是整数n(1<=n<=200000),表示自然数的个数。
第2~n+1行每行一个自然数。
输出
包含m行(m为n个自然数中不相同数的个数),按照自然数从小到大的顺序输出。每行输出两个整数,分别是自然数和该数出现的次数,其间用一个空格隔开。
样例输入
8
2
4
2
4
5
100
2
100
样例输出
2 3
4 2
5 1
100 2
代码:
#include<stdio.h>
#include<algorithm>
#define N 200000
int a[N+10];
using namespace std;
int main()
{
int num,i,j,n;
while(scanf("%d",&n)!=EOF)
{
for(i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n);
for(j=0,num=1;j<n;j++)
{
if(a[j+1]==a[j])
{
num+=1;
}
else
{
printf("%d %d\n",a[j],num);
num=1;
}
}
}
return 0;
}
思路就是:输入,排序,输出。。输出的时候如果后一个数等于前一个数(计数器num++ Ps:num初值是1.)如果后一个数不等于前一个数就输出呗。没了。
相关文章推荐
- 字符串中数字统计解题报告
- Leetcode 357. Count Numbers with Unique Digits 统计没有重复数字的数 解题报告
- 全国信息学奥林匹克联赛(NOIP2010)复赛 1.数字统计 解题报告
- 07noip 统计数字 解题报告
- codevs 1164 || NOIP 2007 统计数字 模拟 解题报告
- 【LintCode】3.统计数字(Medium)解题报告
- 字符串中数字统计解题报告
- poj 1068 Parencodings/bnuoj 1187 Parencodings 解题报告
- ZZULI 1234 数字串 解题报告
- poj1416数字切割解题报告
- [置顶] poj1416数字切割解题报告
- 习题3-3 数数字 解题报告
- 将数字转换成金额(统计专业实验报告)
- (解题报告)HDU2017---字符串统计
- CodeVS3327 选择数字 解题报告【单调队列优化DP】
- 解题报告:LeetCode Search in Rotated Sorted Array II(循环数字查找)
- vijos P1005 超长数字串 解题报告
- poj1068解题报告(模拟类)
- POJ 2742 统计字符数 解题报告
- TYVJ 1076 数字三角形2 解题报告