Evil Coordinate亞洲區域賽(南京)

2021-10-12 12:31:00 字數 4019 閱讀 4074

你好! 我是乙個剛剛接觸acm的小菜雞,今天對南京站的e有一點想法,寫在這裡和大家分享一下。

51 1

rurulld

0 5uuu

0 3uuu

0 2uuu

0 0uuu

output:

ldlruur

uuuimpossible

impossible

impossible

根據上面的題意內容可以知道,題目的大概意思就是給你乙個座標點(代表洞的位置),然後給你一串字串,然後讓你改變字串的順序,讓我們改變順序後,該機械人不經過洞的的座標點即可。如果怎麼都必須經過這個座標點,那麼就輸出impossible。否則則輸出乙個修改後的順序。

首先我們先根據字串確定出終點的座標,然後用乙個陣列記錄一下 上,下,左,右各走了多少步。

顯然當這個洞的座標如果在起始點和終點的話,那麼一定就要輸出「impossible」
假如說終點的座標不在座標軸上:

如果那個洞在第1條道路上(即先在y軸上運動,然後在水平運動),那麼我們就讓機械人走第二條線。

那麼顯然如果那個洞在2第條道路上,我們就讓機械人走第一條道路嘍。

如果兩條路上都不在,那麼就更簡單啦,那麼隨便走哪一條路就都可以了。

第三種情況就是如果這個點在x軸或者y軸,但是終點在這個洞的靠外的一側。這樣的話我們就需要判斷一下

假設是在x軸上,那麼我們就需要判斷一下,是否又在y軸方向的運動了,如果沒有的話,那麼我們就直接輸出「impossible」如果有的話,那麼我們就先向y的方向行走,然後再沿著水平方向行走完,然後再在豎直方向行走回來。

如果實在y軸上那麼也是這樣的乙個道理。

第四種情況就是如果終點在洞的內側,那麼我們就不用這麼麻煩了,我們需要做的就是現在豎直方向上運動,然後再想洞的相反的方向運動,比如說上圖我們就向左側運動,然後回到終點就可以了。

如果在y軸上操作也是一樣的。

建議大家可以根據上面的思路,自己去寫。(因為我寫的不好)

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define ios std::ios::sync_with_stdio(0)

using

namespace std;

typedef

long

long ll;

const

int inf =

0x3f3f3f3f

;const

int mod =

1e9+7;

const

int n =

1e5+10;

char a[n]

;int t;

intmain()

else

if(a[i]

=='r'

)else

if(a[i]

=='u'

)else

if(a[i]

=='d')}

if((sx == fx && sy == fy)

||(fx ==

0&& fy ==0)

)else

if(sx == fx && sy != fy)

else

if(sy <= fy && sy <=

0&& fy <=0)

else

if(fy >0)

for(

int i =

1; i <= cn[3]

; i++)

cout << endl;

}else

if(fy <0)

for(

int i =

1; i <= cn[4]

; i++)

cout << endl;}}

else

if(sx ==0)

for(

int i =

1; i <= cn[3]

; i++

)for

(int i =

1; i <= cn[4]

; i++

)for

(int i =

1; i <= cn[2]

; i++

) cout << endl;}}

else

for(

int i =

1; i <= cn[3]

; i++

)for

(int i =

1; i <= cn[1]

; i++

)for

(int i =

1; i <= cn[2]

; i++

)

cout <

else

if(sx != fx && sy == fy)

else

if(fx >0)

for(

int i =

1; i <= cn[2]

; i++)

cout << endl;

}else

if(fx <0)

for(

int i =

1; i <= cn[1]

; i++)

cout << endl;}}

else

if(sy ==0)

for(

int i =

1; i <= cn[1]

; i++

)for

(int i =

1; i <= cn[2]

; i++

)for

(int i =

1; i <= cn[4]

; i++

) cout << endl;}}

else

for(

int i =

1; i <= cn[2]

; i++

)for

(int i =

1; i <= cn[4]

; i++

)for

(int i =

1; i <= cn[3]

; i++

) cout << endl;}}

else

for(

int i =

1; i <= cn[3]

; i++

)for

(int i =

1; i <= cn[1]

; i++

)for

(int i =

1; i <= cn[2]

; i++

) cout <

}else

for(

int i =

1; i <= cn[2]

; i++

)for

(int i =

1; i <= cn[4]

; i++

)for

(int i =

1; i <= cn[3]

; i++

)

cout <

}return0;

}

張亞飛 藍天

www.zhangyafei.cn down lt.歌詞 ti 藍天 ar 張惠妹 al 紅茶館 www.musictea.com by 紅茶館 musictea.com 00 00.00 藍天 00 13.00 00 30.00 忽醒忽睡,00 32.00 我又掙扎了一夜.00 37.00 窗外透...

亞畫素角點

harris 角點定義為乙個鄰域內存在兩個正交方向上梯度變化較大的點。在某些應用中 如視覺測量 想獲得更加精確的角點定位,可使用角點亞畫素演算法實現。在提取亞畫素邊緣時,可以通過數學建模 最小二乘法 來描述邊緣方向上一階導數曲線,該曲線為乙個二次函式 然後找到數學模型的最值點即為亞畫素邊緣位置。對於...

澳大利亞網域名稱 澳大利亞網域名稱 au註冊要求

au網域名稱是澳大利亞頂級網域名稱,也即澳洲網域名稱 港台地區叫法 與1986年分配使用,到2012年時註冊量已突破250萬。澳大利亞 australia 是乙個發達的資本主義國家。澳大利亞一詞,意即 南方大陸 地勢平坦,畜牧業發達。澳大利亞網域名稱頂級字尾還有 com.au net.au org....