hdu2025

Posted lyqf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hdu2025相关的知识,希望对你有一定的参考价值。

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2025

 

这道题的大小指的是ASCII码大小不是自己理解的a/A~z/Z的大小,所以不需要区分大小写……找出最大的标记一下,直接再后面输出(max)即可

技术分享图片
 1 #include<iostream>
 2 #include<stdio.h>
 3 #include<string.h>
 4 #include<algorithm>
 5 #include<math.h>
 6 using namespace std;
 7 
 8 int main()
 9 {
10     string str;
11     char c;
12     int flag[100]={0};
13     while(cin>>str)
14     {
15     /*    memset(flag,0,sizeof(flag));
16         if(str[0]>=‘a‘&&str[0]<=‘z‘)//‘a‘=97,‘A‘=45;
17             c=str[0];
18         else c=str[0]+(97-45);
19         flag[0]=1;
20         int forth = 0;
21         for(int i = 1;str[i]!=‘‘;i++)
22         {
23             if(str[i]>=‘A‘&&str[i]<=‘Z‘)
24             {
25                 k=str[i]+(97-45);
26             }
27             else k = str[i];
28             if(c<k)
29             {
30                 c=k;
31                 flag[i] = 1;
32                 flag[forth]=0;
33                 forth = i;
34             }
35             if(c==k)
36             {
37                 flag[i] = 1;
38             }
39         }*/
40         c = A;
41         for(int i = 0;str[i]!=;i++)
42         {
43             if(str[i]>=c)
44             {
45                 c=str[i];
46             }
47         }
48         for(int i = 0;str[i]!=;i++)
49         {
50             cout<<str[i];
51             if(str[i]==c)
52             cout<<"(max)";
53         }
54         cout<<endl;
55     }
56     return 0;
57     
58 }
View Code

 

下面的是WA掉的代码,还没有找到wa的原因……

技术分享图片
#include<iostream>
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
using namespace std;

int main()
{
    string str;
    char c;
    int flag[100]={0};
    while(cin>>str)
    {
        memset(flag,0,sizeof(flag));
        c=str[0];
        flag[0]=1;
        int forth = 0;
        for(int i = 1;str[i]!=;i++)
        {
            if(c<str[i])
            {
                c=str[i];
                flag[i] = 1;
                flag[forth]=0;
                forth = i;
            }
            if(c==str[i])
            {
                flag[i] = 1;
            }
        }
        for(int i = 0;str[i]!=;i++)
        {
            cout<<str[i];
            if(flag[i] == 1)
            cout<<"(max)";
        }
        cout<<endl;
    }
    return 0;
}
View Code

 

以上是关于hdu2025的主要内容,如果未能解决你的问题,请参考以下文章

hdu 2025

查找最大元素(hdu2025)

HDU2025 查找最大元素最值

HDU2025 查找最大元素最值

HDU4057 Rescue the Rabbit(AC自动机+状压DP)

HDU3247 Resource Archiver(AC自动机+BFS+DP)