Submission #376245

#TimeUsernameProblemLanguageResultExecution timeMemory
376245tqbfjotldSelotejp (COCI20_selotejp)C++14
110 / 110
424 ms82796 KiB
#include <bits/stdc++.h> using namespace std; bool used[1005][15]; int N,M; int memo[1005][10][1030][2]; int func(int n, int pos, int bitm, bool c){ if (pos==-1){ pos = M-1; n--; if (c) return 999999999; } if (n<0){ return bitm==0?0:999999999; } if (memo[n][pos][bitm][c]!=-1) return memo[n][pos][bitm][c]; if ((bitm&(1<<pos))!=0 && used[n][pos]){ return 999999999; } if (used[n][pos] && c){ return 999999999; } if (used[n][pos]){ return memo[n][pos][bitm][c] = func(n,pos-1,bitm,c); } if (c && (bitm&(1<<pos))!=0) return 999999999; int starthorz = 1+func(n,pos-1,bitm,false); int startvert = 1+func(n,pos-1,bitm&~(1<<pos),false); int usehorz = func(n,pos-1,bitm,true); int usevert = func(n,pos-1,bitm|(1<<pos),false); //printf("%d %d, %d %d %d %d\n",n,pos,starthorz,startvert,usehorz,usevert); if (c){ return memo[n][pos][bitm][c] = min(starthorz,usehorz); } if (bitm&(1<<pos)){ return memo[n][pos][bitm][c] = min(startvert, usevert); } return memo[n][pos][bitm][c] = min(min(starthorz, usehorz),min(startvert,usevert)); } int main(){ memset(memo,-1,sizeof(memo)); scanf("%d%d",&N,&M); for (int x = 0; x<N; x++){ for (int y = 0; y<M; y++){ char c; scanf(" %c",&c); used[x][y] = c=='.'; } } printf("%d",func(N,-1,0,false)); }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:45:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   45 |     scanf("%d%d",&N,&M);
      |     ~~~~~^~~~~~~~~~~~~~
Main.cpp:49:18: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   49 |             scanf(" %c",&c);
      |             ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...