noi——找最大数序列
2017-12-03 13:33
148 查看
描述
输入n行,每行不超过100个无符号整数,无符号数不超过4位。请输出最大整数以及最大整数所在的行号(行号从1开始)。如果该数据在多个行中出现,则按从小到大输出相应行号,行号之间以一个逗号分开。输入一行输入一个正整数n(n <= 30)。
之后的n行,每行包含不超过100个无符号整数,整数之间以一个逗号分开。输出第一行:最大整数;
第二行:最大整数所在的行编号,逗号间隔。样例输入
6 1,3,5,23,6,8,14 20,22,13,4,16 23,12,17,22 2,6,10,9,3,6 22,21,20,8,10 22,1,23,6,8,19,23
样例输出
23 1,3,6
两个双for循环noiAC,学校的RE:#include<stdio.h>
#include<string.h>
int main()
{
int m=0;
int n,nn;
int i=0;
int a[35][105]= {0};
int flag;
while(~scanf("%d",&n))
{
flag=0;
nn=n;
while(n>0)
{
scanf("%d",&a[nn-n][i]);
if(i==0&&n==nn)
{
m=a[nn-n][i];
}
else
{
if(m<a[nn-n][i])
{
m=a[nn-n][i];
}
}
if(getchar()=='\n')
{
n--;
i=0;
continue;
}
i++;
}
printf("%d\n",m);
for(int ii=0; ii<nn; ii++)
{
for(int j=0; j<105; j++)
{
if(a[ii][j]==m)
{
if(flag==0)
{
printf("%d",ii+1);
flag++;
}
else
{
printf(",%d",ii+1);
}
break;
}
}
}
printf("\n");
memset(a,0,sizeof(a));
m=0;
i=0;
}
return 0;
}
别人的代码:http://www.cnblogs.com/huashanqingzhu/p/3474575.html
没必要记录输入的所有数据
每行求最大值并记录于数列中
当下一行出现更大的最大值,清空数列,重新记录
每一行最后的一个数据另外进行判断,作为本行最后一个数据,接下来便进入下一个i
#include<stdio.h>
#include<memory.h>
int main()
{
int n,i,a[31];
int max,t,len;
char ch;
int first;
while(~scanf("%d",&n))
{
memset(a,0,sizeof(a));
max=-1;
len=0;
getchar();
for(i=0; i<n; i++)
{
scanf("%d%c",&t,&ch);
while(ch==',')
{
if(t>max)//发现新的最大值
{
max=t;//记录最大值
len=0;//发现新的最大值,要重置数组下标
a[len]=i;//记录最大值的行号
}
else if(max==t)
{
if(i!=a[len])//确保同一行里面相同大小的最大数多次出现也只记录一次行号
{
len++;//下标前移一个单位
a[len]=i;//记录最大值的行号
}
}
ch=' ';//清空ch的值
scanf("%d%c",&t,&ch);
}/**/
if(t>max)
{
max=t;
len=0;
a[len]=i;
}
else if(max==t)
{
if(i!=a[len])
{
len++;
a[len]=i;
}
}
}
printf("%d\n",max);
first=1;
for(i=0; i<=len; i++)
{
//输出行号时注意:题目要求行号从1开始计算。
if(first)
{
printf("%d",a[i]+1);
first=0;
}
else printf(",%d",a[i]+1);
}
printf("\n");
}
return 0;
}
相关文章推荐
- noi openjudge/1.9 10:找最大数序列
- [luoguP1963] [NOI2009]变换序列(二分图最大匹配)
- [bzoj1562][NOI2009]变换序列(贪心+dfs/二分图最大匹配)
- OpenJudge Noi 3532 最大上升子序列和(dp)
- bzoj 1562: [NOI2009]变换序列 二分图最大匹配
- 【质因子分解】NOI 21:最大质因子序列
- 【二分图最大匹配】BZOJ1562 [NOI2009]变换序列
- 和最大子序列---动态规划
- 【NOI2009】Bzoj1562&Codevs1843 变换序列
- Lintcode 114.最大上升连续子序列
- HDU 1003--DP(最大子序列和)
- 数据结构之最大子序列的求解
- 九度OJ—题目1011:最大连续子序列
- 求最大子序列。。
- 最大连续子序列和
- hdu 1231 最大连续子序列(dp)
- 求连续最大子序列积 - leetcode. 152 Maximum Product Subarray
- 九度 1011 最大连续子序列
- HDU1003+最大连续子序列和+起始终止位置
- 求所有最大公共子序列的算法实现