Uva 1588 Kickdown

Posted Wade_

tags:

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

  这道题思路并不难想,在做题过程中主要遇到的困难有:

  因为没有仔细的考虑边界情况,没有分析全面,导致因=没有取到而得不出正确结果,浪费的大量时间。

  今后在做这类题目时,一定要先进行一个比较全面的分析+模拟,再动手写代码,避免浪费时间。

  

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 using namespace std;
 5 #define maxn 1000
 6 int main(){
 7     int len1,len2;
 8     char s1[maxn],s2[maxn];
 9     while(scanf("%s %s",s1,s2)!=EOF){
10         len1=strlen(s1);
11         len2=strlen(s2);
12         for(int i=len1;i<len1+len2;i++)s1[i]=0;
13         for(int i=len2;i<len1+len2;i++)s2[i]=0;
14         int ok;
15         int minv=maxn;
16         for(int i=0;i<=len2;i++){
17             ok=1;
18             for(int j=0;j<min(len1,len2-i);j++){
19                 if(s2[i+j]+s1[j]-2*0>3){
20                     ok=0;
21                     break;
22                 }
23             }
24             if(ok&&max(len2,len1+i)<minv)minv=max(len2,len1+i);
25         }
26         for(int i=0;i<=len1;i++){
27             ok=1;
28             for(int j=0;j<min(len2,len1-i);j++){
29                 if(s1[i+j]+s2[j]-2*0>3){
30                     ok=0;
31                     break;
32                 }
33             }
34             if(ok&&max(len1,len2+i)<minv)minv=max(len1,len2+i);
35         }
36         printf("%d\n",minv);
37     }
38     return 0;
39 }

 

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

Uva 1588.Kickdown

UVA1588 Kickdown

数组与字符串 UVa1588 Kickdown

UVa-1588 Kickdown(换低档装置)

uva1588kickdown

[算法竞赛入门经典]Kickdown ACM/ICPC NEERC 2004,UVa1587