UVa 1588 - Kickdown

前天晚上开始看的,昨天和同学出去玩,一天没写,今天下午开始打的,一次Ac,挺简单的。

买的C++的书到了,这几天可能不做了,看看书以后用C++写。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#include <stdio.h>
#include <string.h>
#define maxn 220
int main()
{
int i,j,m,n,x1,y1,x2,y2,temp,z;
char a[maxn],b[maxn];
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
while(scanf("%s%s",a,b)!=EOF)
{
m=strlen(a);
n=strlen(b);
if(m>n)
x1=x2=m;
else
x1=x2=n;
y1=y2=m+n;
for(i=0;i<n;i++)
{
z=1;
for(j=0;j<m;j++)
{
if(!z)
break;
if(i+j<n)
if(a[j]==50&b[i+j]==50)
z=0;
}
if(z)
{
if(m+i>n)
x1=m+i;
if(x1<y1)
y1=x1;
}
}
for(i=0;i<m;i++)
{
z=1;
for(j=0;j<n;j++)
{
if(!z)
break;
if(i+j<m)
if(a[i+j]==50&b[j]==50)
z=0;
}
if(z)
{
if(n+i>m)
x2=n+i;
if(x2<y2)
y2=x2;
}
}
if(y2>y1)
printf("%d\n",y1);
else
printf("%d\n",y2);
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
}
return 0;
}

** 本文迁移自我的CSDN博客,格式可能有所偏差。 **