CCF認證刷題 201412 2 Z字形掃瞄

2021-10-04 04:22:32 字數 1155 閱讀 5483

​ 這道題的難點主要是控制邊界,觀察題目給的路徑可以看出,有兩個掃瞄的方向,斜向上與斜向下,我這裡用enu

menum

enum

型別變數儲存方向,初始點為(0,

0)(0,0)

(0,0

),方向為斜向上,先列印出訪問的點,再嘗試著根據當前掃瞄的方向前進,後面4

44個條件判斷語句分別控制掃瞄出錯及改正的策略。

/*

* @descripttion:

* @version:

* @author: idestro

* @date: 2020-03-19 22:40:55

* @lasteditors: idestro

* @lastedittime: 2020-03-20 09:51:12

*/#include

using

namespace std;

enum

direction;

intmain()

}// cnt記錄當前已經訪問點的個數,i,j代表位置,預設(0,0)

int cnt =

0, i =

0, j =0;

// 方向初始為斜向上

direction = up;

while

(cnt++

< n*n)

else

// 當碰到上邊界

if(i <

0&& j >0)

else

if(j == n)

direction = down;

continue;}

// 當碰到做邊界

if(i >

0&& j <0)

else

if(i == n)

direction = up;

continue;}

// 當碰到右邊界

if(i >=

0&& j == n)

// 當碰到下邊界

if(i == n && j >=0)

}return0;

}

201412 2 Z字形掃瞄

你好啊,我是努力奔跑的追夢人 我始終相信著未來,一分耕耘一分收穫。include using namespace std bool inarea int xl,int yd,int xr,int yu,int dstx,int dsty 判斷 dstx,dsty 是否在區域內 intmain els...

CCF 201412 2 Z字形掃瞄

ccf 201412 2 z字形掃瞄 第一次的思路做錯了嚶.1 include2 include3 using namespace std 4int arr 505 505 5 bool visit 505 505 6 const int dr 右0,左下1,下2,右上3 32 將每次回到第一行或最...

CCF刷題筆記

大學期間很多時間都在做低效率 無意義的事,現在打算通過刷題提高自己的程式設計能力,同時掌握一些資料結構 演算法的專業知識。時間安排 2020.11 ccf認證 衝200 300分 2021.1 ccf認證 衝300 350分 部落格更新 打算通過更新部落格來督促自己完成任務 很久沒有刷題了 從第一題...