當(dāng)前位置:
首頁 >
nyoj298_点的变换_错误
發(fā)布時(shí)間:2025/5/22
38
豆豆
生活随笔
收集整理的這篇文章主要介紹了
nyoj298_点的变换_错误
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
點(diǎn)的變換
時(shí)間限制:2000?ms ?|? 內(nèi)存限制:65535?KB 難度:5 描述平面上有不超過10000個(gè)點(diǎn),坐標(biāo)都是已知的,現(xiàn)在可能對(duì)所有的點(diǎn)做以下幾種操作:
平移一定距離(M),相對(duì)X軸上下翻轉(zhuǎn)(X),相對(duì)Y軸左右翻轉(zhuǎn)(Y),坐標(biāo)縮小或放大一定的倍數(shù)(S),所有點(diǎn)對(duì)坐標(biāo)原點(diǎn)逆時(shí)針旋轉(zhuǎn)一定角度(R)。????
操作的次數(shù)不超過1000000次,求最終所有點(diǎn)的坐標(biāo)。
?
提示:如果程序中用到PI的值,可以用acos(-1.0)獲得。
測(cè)試數(shù)據(jù)的第一行是兩個(gè)整數(shù)N,M,分別表示點(diǎn)的個(gè)數(shù)與操作的個(gè)數(shù)(N<=10000,M<=1000000)
隨后的一行有N對(duì)數(shù)對(duì),每個(gè)數(shù)對(duì)的第一個(gè)數(shù)表示一個(gè)點(diǎn)的x坐標(biāo),第二個(gè)數(shù)表示y坐標(biāo),這些點(diǎn)初始坐標(biāo)大小絕對(duì)值不超過100。
隨后的M行,每行代表一種操作,行首是一個(gè)字符:
首字符如果是M,則表示平移操作,該行后面將跟兩個(gè)數(shù)x,y,表示把所有點(diǎn)按向量(x,y)平移;
首字符如果是X,則表示把所有點(diǎn)相對(duì)于X軸進(jìn)行上下翻轉(zhuǎn);
首字符如果是Y,則表示把所有點(diǎn)相對(duì)于Y軸進(jìn)行左右翻轉(zhuǎn);
首字符如果是S,則隨后將跟一個(gè)數(shù)P,表示坐標(biāo)放大P倍;
首字符如果是R,則隨后將跟一個(gè)數(shù)A,表示所有點(diǎn)相對(duì)坐標(biāo)原點(diǎn)逆時(shí)針旋轉(zhuǎn)一定的角度A(單位是度)
點(diǎn)的輸出順序應(yīng)與輸入順序保持一致
?
轉(zhuǎn)載于:https://www.cnblogs.com/TWS-YIFEI/p/5934113.html
總結(jié)
以上是生活随笔為你收集整理的nyoj298_点的变换_错误的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ubuntu dotnet core r
- 下一篇: mtool安装