AC日记——找最大数序列 openjudge 1.9 10

Posted Only U - IU

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AC日记——找最大数序列 openjudge 1.9 10相关的知识,希望对你有一定的参考价值。

10:找最大数序列

总时间限制: 
1000ms
 
内存限制: 
65536kB
描述

输入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

思路:

  模拟不解释;

 

来,上代码:

#include<map>
#include<set>
#include<queue>
#include<stack>
#include<cstdio>
#include<string>
#include<cstring>
#include<iostream>
#include<algorithm>

using namespace std;

int n,if_Z,num[31][100],now__=0,num_num[31],maxn=0;
int ans_there[31],ans_num=0;

char word;

inline void read_int(int &now_001)
{
    now_001=0,if_Z=1;word=getchar();
    while(word<0||word>9)
    {
        if(word==-) if_Z=-1;
        word=getchar();
    }
    while(word<=9&&word>=0)
    {
        now_001=now_001*10+(int)(word-0);
        word=getchar();
    }
    now_001*=if_Z;
}

void read_all()
{
    int now_s=0;
    for(int now_002=1;now_002<=n;now_002++)
    {
        word=getchar();
        now__=0;
        bool if_break=false;;
        while(word!=\n)
        {
            int now_num=0;
            while(word<0||word>9)
            {
                if(word==\n)
                {
                    if_break=true;
                    break;
                }
                word=getchar();
            }
            if(if_break) break;
            while(word<=9&&word>=0)
            {
                now_num=now_num*10+(int)(word-0);
                word=getchar();
            }
            num[now_002][++now__]=now_num;
            num_num[now_002]=now__;
        }
    }
}

void find()
{
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=num_num[i];j++)
        {
            maxn=max(maxn,num[i][j]);
        }
    }
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=num_num[i];j++)
        {
            if(maxn==num[i][j])
            {
                ans_there[++ans_num]=i;
                break;
            }
        }
    }
}

void printf__()
{
    printf("%d\n%d",maxn,ans_there[1]);
    for(int i=2;i<=ans_num;i++) printf(",%d",ans_there[i]);
    printf("\n");
}

int main()
{
    read_int(n);
    read_all();
    find();
    printf__();
    return 0;
}

 

以上是关于AC日记——找最大数序列 openjudge 1.9 10的主要内容,如果未能解决你的问题,请参考以下文章

AC日记——数1的个数 openjudge 1.5 40

AC日记——单词的长度 openjudge 1.7 24

AC日记——字符串最大跨距 openjudge 1.7 26

AC日记——统计单词数 openjudge 1.12 5

AC日记——有趣的跳跃 openjudge 1.6 07

AC日记——删除单词后缀 openjudge 1.7 20