/ SeriousOJ /

Record Detail

Time Exceeded


  
# Status Time Cost Memory Cost
#1 Accepted 177ms 556.0 KiB
#2 Accepted 86ms 532.0 KiB
#3 Accepted 104ms 564.0 KiB
#4 Accepted 133ms 560.0 KiB
#5 Accepted 106ms 560.0 KiB
#6 Accepted 195ms 564.0 KiB
#7 Accepted 72ms 560.0 KiB
#8 Accepted 132ms 556.0 KiB
#9 Accepted 145ms 320.0 KiB
#10 Accepted 122ms 532.0 KiB
#11 Accepted 114ms 532.0 KiB
#12 Accepted 104ms 560.0 KiB
#13 Accepted 91ms 532.0 KiB
#14 Accepted 115ms 556.0 KiB
#15 Accepted 108ms 560.0 KiB
#16 Accepted 60ms 556.0 KiB
#17 Accepted 75ms 560.0 KiB
#18 Accepted 168ms 564.0 KiB
#19 Accepted 101ms 556.0 KiB
#20 Accepted 82ms 564.0 KiB
#21 Accepted 71ms 556.0 KiB
#22 Accepted 137ms 564.0 KiB
#23 Accepted 92ms 564.0 KiB
#24 Accepted 94ms 564.0 KiB
#25 Accepted 132ms 556.0 KiB
#26 Accepted 85ms 564.0 KiB
#27 Accepted 81ms 556.0 KiB
#28 Accepted 80ms 552.0 KiB
#29 Accepted 107ms 564.0 KiB
#30 Accepted 99ms 564.0 KiB
#31 Accepted 107ms 560.0 KiB
#32 Accepted 81ms 556.0 KiB
#33 Accepted 88ms 556.0 KiB
#34 Accepted 122ms 556.0 KiB
#35 Accepted 72ms 560.0 KiB
#36 Accepted 145ms 556.0 KiB
#37 Accepted 172ms 564.0 KiB
#38 Accepted 80ms 556.0 KiB
#39 Accepted 99ms 560.0 KiB
#40 Accepted 77ms 560.0 KiB
#41 Accepted 115ms 564.0 KiB
#42 Accepted 131ms 556.0 KiB
#43 Accepted 101ms 556.0 KiB
#44 Accepted 92ms 556.0 KiB
#45 Accepted 67ms 556.0 KiB
#46 Accepted 90ms 556.0 KiB
#47 Accepted 170ms 560.0 KiB
#48 Accepted 126ms 556.0 KiB
#49 Accepted 90ms 552.0 KiB
#50 Accepted 159ms 568.0 KiB
#51 Accepted 113ms 552.0 KiB
#52 Accepted 128ms 564.0 KiB
#53 Accepted 107ms 560.0 KiB
#54 Accepted 226ms 560.0 KiB
#55 Accepted 104ms 552.0 KiB
#56 Accepted 163ms 556.0 KiB
#57 Accepted 219ms 564.0 KiB
#58 Accepted 166ms 556.0 KiB
#59 Accepted 78ms 556.0 KiB
#60 Accepted 550ms 560.0 KiB
#61 Accepted 95ms 560.0 KiB
#62 Accepted 100ms 560.0 KiB
#63 Accepted 100ms 552.0 KiB
#64 Accepted 100ms 560.0 KiB
#65 Accepted 119ms 560.0 KiB
#66 Accepted 92ms 560.0 KiB
#67 Accepted 93ms 560.0 KiB
#68 Accepted 195ms 556.0 KiB
#69 Accepted 123ms 532.0 KiB
#70 Accepted 182ms 532.0 KiB
#71 Accepted 116ms 552.0 KiB
#72 Accepted 262ms 324.0 KiB
#73 Accepted 144ms 532.0 KiB
#74 Accepted 141ms 532.0 KiB
#75 Accepted 206ms 556.0 KiB
#76 Accepted 327ms 556.0 KiB
#77 Accepted 132ms 560.0 KiB
#78 Accepted 157ms 564.0 KiB
#79 Accepted 231ms 552.0 KiB
#80 Accepted 115ms 560.0 KiB
#81 Accepted 714ms 556.0 KiB
#82 Accepted 248ms 564.0 KiB
#83 Accepted 364ms 564.0 KiB
#84 Accepted 130ms 560.0 KiB
#85 Accepted 476ms 556.0 KiB
#86 Accepted 278ms 560.0 KiB
#87 Accepted 265ms 552.0 KiB
#88 Accepted 214ms 560.0 KiB
#89 Accepted 118ms 560.0 KiB
#90 Time Exceeded ≥1085ms ≥556.0 KiB
#91 Accepted 1ms 532.0 KiB
#92 Accepted 1ms 532.0 KiB
#93 Accepted 732ms 564.0 KiB
#94 Accepted 464ms 552.0 KiB
#95 Time Exceeded ≥1096ms ≥532.0 KiB

Code

#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
#include<bits/stdc++.h>

using namespace std;

using field=array<array<int,11>,11>;

int dx4[4]={1,-1,0,0};
int dy4[4]={0,0,1,-1};

bool ins(int i,int j){
  return (0<=i && i<11 && 0<=j && j<11);
}

field inif;

int escape(int i,int j,int clk,field &a){
  if(a[i][j]<=clk){return -1;}
  field fie=inif;
  queue<pair<int,int>> qq;
  qq.push({i,j});
  fie[i][j]=clk;
  while(!qq.empty()){
    auto od=qq.front(); qq.pop();
    for(int k=0;k<4;k++){
      int x=od.first+dx4[k];
      int y=od.second+dy4[k];
      if(!ins(x,y)){continue;}
      int tt=fie[od.first][od.second]+1;
      if(fie[x][y]>5e8 && tt<a[x][y]){
        fie[x][y]=tt;
        qq.push({x,y});
      }
    }
  }

  int res=1e9;
  for(int i=0;i<11;i++){
    res=min(res,fie[i][0]);
    res=min(res,fie[i][10]);
    res=min(res,fie[0][i]);
    res=min(res,fie[10][i]);
  }
  if(res>5e8){res=-1;}
  return res;
}

int main(){
  for(int i=0;i<11;i++){
    for(int j=0;j<11;j++){
      inif[i][j]=1e9;
    }
  }

  ios::sync_with_stdio(false);
  cin.tie(nullptr);

  field og=inif;
  vector<pair<int,int>> vp;
  queue<pair<int,int>> qq;
  for(int i=0;i<11;i++){
    for(int j=0;j<11;j++){
      string s;
      cin >> s;
      if(s=="#"){og[i][j]=1e9;}
      if(s=="P"){og[i][j]=1e9; vp.push_back({i,j});}
      if(s=="F"){og[i][j]=0; qq.push({i,j});}
    }
  }
  while(!qq.empty()){
    auto od=qq.front(); qq.pop();
    for(int i=0;i<4;i++){
      int x=od.first+dx4[i];
      int y=od.second+dy4[i];
      if(!ins(x,y)){continue;}
      if(og[x][y]>5e8){
        og[x][y]=og[od.first][od.second]+1;
        qq.push({x,y});
      }
    }
  }

  int res=0;
  do{
    int cres=0;
    int clk=0;
    for(auto &nx : vp){
      int cc=escape(nx.first,nx.second,clk,og);
      if(cc<0){break;}
      clk=(cc+1);
      cres++;
    }
    res=max(res,cres);
    if(res==vp.size()){break;}
  }while(next_permutation(vp.begin(),vp.end()));
  cout << res << "\n";
  return 0;
}

Information

Submit By
Type
Submission
Problem
P1221 G. Nine-eleven
Contest
Happy New Year 2026
Language
C++17 (G++ 13.2.0)
Submit At
2026-01-06 15:50:27
Judged At
2026-01-06 15:50:27
Judged By
Score
93
Total Time
≥1096ms
Peak Memory
≥568.0 KiB