#40529:


110297@mdhs.ntpc.edu.tw (1112-40911傅立勛)

學校 : 不指定學校
編號 : 232093
來源 : [182.234.53.80]
最後登入時間 :
2024-09-20 23:14:33
c292. APCS2017-0304-3數字龍捲風 -- 2017年3月APCS | From: [27.53.186.44] | 發表日期 : 2024-05-27 19:19

#include <bits/stdc++.h>
using namespace std;

int main()
{
  int n,to,r,c,tmp=1,now=1,flag=1;
  cin>>n;
  cin>>to;
  int Map[n][n];
  vector<int> run;
  for (int i=0;i<n;i++) for (int j=0;j<n;j++) cin>>Map[i][j];
  r=n/2;
  c=n/2;
  run.push_back(Map[r][c]);
  while (now!=n*n)
    {
      for (int i=0;i<2;i++)
        {
          for (int j=0;j<tmp;j++)
            {
              if (to==0) run.push_back(Map[r][--c]);
              else if(to==1) run.push_back(Map[--r][c]);
              else if (to==2) run.push_back(Map[r][++c]);
              else run.push_back(Map[++r][c]);
              if (++now==n*n)
              {
                flag>>=1;
                break;
              }
            }
          if (!flag) break;
          to==3?to=0:to++;
        }
      tmp++; 
    }
  for (const int val:run) cout<<val;
  cout<<"\n";
  return 0;
}

 
ZeroJudge Forum