Submission #901668

# Submission time Handle Problem Language Result Execution time Memory
901668 2024-01-09T22:25:09 Z alexander707070 Misspelling (JOI22_misspelling) C++14
28 / 100
60 ms 4448 KB
#include<bits/stdc++.h>
#define MAXN 2007
using namespace std;
 
const int mod=1e9+7;
 
int n,m,a,b,ans;
 
int dp[MAXN][30];
int maxs[MAXN][MAXN],maxs2[MAXN][MAXN],es[MAXN],es2[MAXN];
bool bad[MAXN],bad2[MAXN];
int pt,pt2;

int sum[30],sum2[30];
 
void calc_dp(){

    pt=pt2=n+1;

    for(int pos=n;pos>=1;pos--){

        for(int f=pos+1;f<=es[pos];f++){
            
            for(int letter=0;letter<26;letter++){
                if(!bad[f])sum[letter]-=dp[f][letter]; sum[letter]+=mod; sum[letter]%=mod;
            }
            bad[f]=true;
        }
        for(int f=pos+1;f<=es2[pos];f++){

            for(int letter=0;letter<26;letter++){
                if(!bad2[f])sum2[letter]-=dp[f][letter]; sum2[letter]+=mod; sum2[letter]%=mod;
            }
            bad2[f]=true;
        }

        if(es[pos]>=pos+1)pt=pos+1;
        if(es2[pos]>=pos+1)pt2=pos+1;

        for(int letter=0;letter<26;letter++){

            dp[pos][letter]=1;
            
            for(int nxtletter=0;nxtletter<26;nxtletter++){
                if(nxtletter==letter)continue;
                
                if(nxtletter<letter)dp[pos][letter]+=sum[nxtletter];
                if(nxtletter>letter)dp[pos][letter]+=sum2[nxtletter];
                dp[pos][letter]%=mod;

            }
        }

        for(int letter=0;letter<26;letter++){
            sum[letter]+=dp[pos][letter]; sum[letter]%=mod;
            sum2[letter]+=dp[pos][letter]; sum2[letter]%=mod;
        }
    }
}
 
 
int main(){
 
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
 
    cin>>n>>m;
    for(int i=1;i<=m;i++){
        cin>>a>>b;
 
        if(a<b){
            es[a]=max(es[a],b);
        }else{
            es2[b]=max(es2[b],a);
        }
    }

    calc_dp();
    for(int i=0;i<26;i++){
        ans+=dp[1][i];
        ans%=mod;
    }
 
    cout<<ans<<"\n";
 
    return 0;
}

Compilation message

misspelling.cpp: In function 'void calc_dp()':
misspelling.cpp:25:17: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   25 |                 if(!bad[f])sum[letter]-=dp[f][letter]; sum[letter]+=mod; sum[letter]%=mod;
      |                 ^~
misspelling.cpp:25:56: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   25 |                 if(!bad[f])sum[letter]-=dp[f][letter]; sum[letter]+=mod; sum[letter]%=mod;
      |                                                        ^~~
misspelling.cpp:32:17: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   32 |                 if(!bad2[f])sum2[letter]-=dp[f][letter]; sum2[letter]+=mod; sum2[letter]%=mod;
      |                 ^~
misspelling.cpp:32:58: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   32 |                 if(!bad2[f])sum2[letter]-=dp[f][letter]; sum2[letter]+=mod; sum2[letter]%=mod;
      |                                                          ^~~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 0 ms 500 KB Output is correct
14 Correct 0 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 0 ms 500 KB Output is correct
14 Correct 0 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 1 ms 348 KB Output is correct
17 Correct 1 ms 348 KB Output is correct
18 Correct 1 ms 348 KB Output is correct
19 Correct 1 ms 348 KB Output is correct
20 Correct 1 ms 348 KB Output is correct
21 Correct 1 ms 600 KB Output is correct
22 Correct 3 ms 348 KB Output is correct
23 Correct 1 ms 348 KB Output is correct
24 Correct 1 ms 348 KB Output is correct
25 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Runtime error 60 ms 4448 KB Execution killed with signal 11
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 0 ms 500 KB Output is correct
14 Correct 0 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 1 ms 348 KB Output is correct
17 Correct 1 ms 348 KB Output is correct
18 Correct 1 ms 348 KB Output is correct
19 Correct 1 ms 348 KB Output is correct
20 Correct 1 ms 348 KB Output is correct
21 Correct 1 ms 600 KB Output is correct
22 Correct 3 ms 348 KB Output is correct
23 Correct 1 ms 348 KB Output is correct
24 Correct 1 ms 348 KB Output is correct
25 Correct 1 ms 348 KB Output is correct
26 Runtime error 4 ms 604 KB Execution killed with signal 11
27 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 ms 344 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 0 ms 348 KB Output is correct
11 Correct 0 ms 348 KB Output is correct
12 Correct 1 ms 348 KB Output is correct
13 Correct 0 ms 500 KB Output is correct
14 Correct 0 ms 344 KB Output is correct
15 Correct 1 ms 344 KB Output is correct
16 Correct 1 ms 348 KB Output is correct
17 Correct 1 ms 348 KB Output is correct
18 Correct 1 ms 348 KB Output is correct
19 Correct 1 ms 348 KB Output is correct
20 Correct 1 ms 348 KB Output is correct
21 Correct 1 ms 600 KB Output is correct
22 Correct 3 ms 348 KB Output is correct
23 Correct 1 ms 348 KB Output is correct
24 Correct 1 ms 348 KB Output is correct
25 Correct 1 ms 348 KB Output is correct
26 Correct 0 ms 348 KB Output is correct
27 Correct 0 ms 348 KB Output is correct
28 Correct 0 ms 348 KB Output is correct
29 Correct 0 ms 348 KB Output is correct
30 Runtime error 60 ms 4448 KB Execution killed with signal 11
31 Halted 0 ms 0 KB -