×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
#34741: C++詳解
11131039@stu.tshs.tp.edu.tw
(二孝25林孟希)
學校 : 不指定學校
編號 : 201083
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [36.227.70.244]
最後登入時間 :
2024-05-22 06:16:38
c292.
APCS2017-0304-3數字龍捲風
--
2017年
3月
APCS
| From: [36.225.97.4] | 發表日期 : 2023-04-11 23:37
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,direction;
cin>>n>>direction;
int a[n][n];
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
cin>>a[i][j];
}
}
int flagd=direction;//判斷方向變數(先設為初始方向)
int flagl=0;//判斷長度是否變換
int length=1;//行進長度
int x=((n+1)/2)-1,y=((n+1)/2)-1;//紀錄座標
cout<<a[x][y];//輸出中心點
for(int i=0;i<n*n;i++)
{
//是否已經旋轉360度
if(flagd>3)
{
flagd=0;
}
//同一個長度是否已經走兩次
if(flagl>1)
{
flagl=0;
length++;
}
//龍卷風中每一條直線
for(int j=0;j<length;j++)
{
if(flagd==0)
{
x-=1;
}
else if(flagd==1)
{
y-=1;
}
else if(flagd==2)
{
x+=1;
}
else
{
y+=1;
}
cout<<a[y][x];
//判斷終點是否到達
if(direction==0)
{
if(y==n-1 && x==0)
{
exit(0);
}
}
else if(direction==1)
{
if(y==0 && x==0)
{
exit(0);
}
}
else if(direction==2)
{
if(y==0 && x==n-1)
{
exit(0);
}
}
else
{
if(y==n-1 && x==n-1)
{
exit(0);
}
}
}
flagl++;//長度變換計次
flagd++;//變換方向
}
}
ZeroJudge Forum