Submission #197566

#TimeUsernameProblemLanguageResultExecution timeMemory
197566Peacher29Miners (IOI07_miners)C++14
0 / 100
182 ms125568 KiB
#include<bits/stdc++.h> using namespace std; int val(int a, int b, int c){ int db=0; for(int i=1;i<=3;i++){ if(a==i || b==i || c==i){ ++db; } } return db; } int dp[100001][4][4][4][4]; bool reach[100001][4][4][4][4]; int main(){ int n; char c; cin >> n; int mx=0; reach[1][0][0][0][0]=1; for(int i=1;i<=n;i++){ cin >> c; int mi; if(c=='M') mi = 1; if(c=='B') mi = 2; if(c=='F') mi = 3; for(int a=0;a<4;a++){ for(int b=0;b<4;b++){ for(int c=0;c<4;c++){ for(int d=0;d<4;d++){ dp[i][a][b][c][d]=0; reach[i][a][b][c][d]=0; } } } } for(int a=0;a<4;a++){ for(int b=0;b<4;b++){ for(int c=0;c<4;c++){ for(int d=0;d<4;d++){ if(reach[i-1][a][b][c][d]){ reach[i][mi][a][c][d] = 1; reach[i][a][b][mi][c] = 1; dp[i][mi][a][c][d]=max(dp[i-1][a][b][c][d]+val(mi,a,b),dp[i][mi][a][c][d]); mx=max(mx,dp[i][mi][a][c][d]); dp[i][a][b][mi][c]=max(dp[i-1][a][b][c][d]+val(mi,c,d),dp[i][a][b][mi][c]); mx=max(mx,dp[i][a][b][mi][c]); } } } } } } cout << mx; return 0; }

Compilation message (stderr)

miners.cpp: In function 'int main()':
miners.cpp:8:7: warning: 'mi' may be used uninitialized in this function [-Wmaybe-uninitialized]
   if(a==i || b==i || c==i){
      ~^~~
miners.cpp:26:7: note: 'mi' was declared here
   int mi;
       ^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...