UOJ Logo

NOI.AC

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#210911#2068. 最长公共前缀1811260623111423ms5164kbC++111.7kb2024-08-08 09:58:042024-08-08 12:36:54

answer

#include <bits/stdc++.h>
#define int long long
using namespace std;
int n,m,q,a,b,cc,x,y,z,ans;
char c[2001][2001];
string s,ss;
signed main()
{
    scanf("%lld%lld%lld",&n,&m,&q);
    for(int i=1;i<=n;i++)
    {
        scanf("\n");
        for(int j=1;j<=m;j++)
        {
            scanf("%c",&c[i][j]);
        }
    }
    while(q--)
    {
        scanf("%lld %lld %c %lld %lld %c",&a,&b,&cc,&x,&y,&z);
        s=ss="";
        if(cc=='V')
        {
            for(int i=a;i<=n;i++)
            {
                s+=c[i][b];
            }
        }
        else if(cc=='H')
        {
            for(int i=b;i<=m;i++)
            {
                s+=c[a][i];
            }
        }
        else
        {
            int p=a,q=b;
            while(p<=n&&q<=m)
            {
                s+=c[p][q];
                p++;
                q++;
            }
        }
        if(z=='V')
        {
            for(int i=x;i<=n;i++)
            {
                ss+=c[i][y];
            }
        }
        else if(z=='H')
        {
            for(int i=y;i<=m;i++)
            {
                ss+=c[x][i];
            }
        }
        else
        {
            int p=x,q=y;
            while(p<=n&&q<=m)
            {
                ss+=c[p][q];
                p++;
                q++;
            }
        }
        ans=0;
        //cout<<s<<' '<<ss<<endl;
        for(int i=0;i<min(s.size(),ss.size());i++)
        {
            if(s[i]==ss[i])
            {
                ans++;
            }
            else
            {
                break;
            }
        }
        printf("%lld\n",ans);
    }
    return 0;
}

Details

小提示:点击横条可展开更详细的信息

Subtask #1:

score: 11
Accepted

Test #1:

score: 11
Accepted
time: 197ms
memory: 3216kb

input:

1000 2000 10000
awanannwnnaaawwnwawanwnwaaaanwnaaananwawwwwnannannawwwawwaaaaannwnwnwnnaaawaawawannn...

output:

0
0
0
0
0
0
0
2
0
1
0
0
1
0
1
0
2
0
1
2
0
0
2
0
1
1
0
0
0
0
1
0
0
0
1
0
0
1
0
1
1
0
2
0
1
3
1
0
3
0
...

result:

ok 10000 tokens

Test #2:

score: 0
Accepted
time: 226ms
memory: 5164kb

input:

2000 1000 10000
zzqzqqqqqzqqqqzqqqqzqzqzzzqqzqqqzzqzzqqqqqqqqqqqzzqzqqqzzqqzzqzqzzzqqzqqzzzzzzqzzzqq...

output:

0
3
3
1
0
2
2
2
1
0
1
0
0
0
1
0
2
0
6
1
0
1
1
0
2
1
1
1
2
4
0
1
3
2
1
0
1
2
0
0
0
1
1
0
1
1
0
4
0
3
...

result:

ok 10000 tokens

Subtask #2:

score: 0
Time Limit Exceeded

Test #3:

score: 0
Time Limit Exceeded

input:

2000 2000 1000000
gggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggg...

output:

1146
541
203
322
618
166
345
138
520
206
1031
667
741
921
361
1110
1057
372
899
209
491
69
93
639
14...

result:


Subtask #3:

score: 0
Skipped

Subtask #4:

score: 0
Skipped