一道簡單的幾何變換

2021-08-08 08:59:48 字數 1251 閱讀 1119

一道簡單的幾何變換

執行時限: 1000 ms   單次執行時限: 1000 ms   記憶體限制: 64 mb

總提交: 68次   通過: 7次

judge by case

題目描述

小光最近在學習幾何變換,老師給他留了乙個作業,在二維平面上有n個點(x,y),老師給了m個幾何變換對n個點進行操作,要求小光輸出變換後的n個點的座標(x』,y』)。小光為了偷懶,請求你幫他寫個程式來完成老師的作業。

由於小光剛剛學習幾何變換,老師只會給出四種變換,如下:

平移變換: (x』,y』)=(x+p,y』+q) 程式的輸入格式為:1 p q (p,q為整數) 

縮放變換: (x』,y』)=(x*l,y*l) 程式的輸入格式為:2 l (l為整數)

上下翻** (x』,y』)=(x,-y) 程式的輸入格式為:3

左右翻** (x』,y』)=(-x,y) 程式的輸入格式為:4

程式輸入說明

n(1<=n<=10^5)

然後n個點(x,y) 其中x,y均為整數

m (1<=m<=10^5)

然後m個變換,輸入格式如上所述。

程式輸出說明

n個點的座標

程式輸入樣例

可見格式

帶空格和換行符的格式

帶空格和換行符的格式說明

2

1 12 2

11 1 1

程式輸出樣例

original

transformed

帶空格和換行符的格式說明

2 2

3 3

提示

注意同一組資料中每個點進行的變換都相同。

題目**

安徽省2023年「京勝杯」大學生程式設計競賽

[統計資料]

[提 交]

為了節省時間必須要注意不能對單個座標計算 而是便輸出邊計算:

ac情況:

合工大ac情況:

**c:

# include # define n 100001

int a[2][n];

int main(),n,m,l,i,p,q;

while(scanf("%d",&n)==1)

{for(i=0;i

一道基本的計算幾何題

題目大意 兩個人在座標系內,可以通過鏡子的反射來看到對方,但是會有一堵牆阻擋,問兩個人能否看到對方 若兩個人與鏡子共線,則鏡子不會阻擋兩個人的視線。而給出的鏡子和牆不會相交 思路 看到只有兩種情況 第一種 兩個人直接看到 第二種 兩個人直接通過鏡子看到 對於這種情況,我們直接判斷他們是否在鏡子一側,...

一道簡單的題目

這是校賽的一道題,當時覺得挺難,後來就覺得簡單,知道思路後就很好做了。題目是這樣子的 1008 植樹節b time limit 1 sec memory limit 128 mb submit 4 solved 4 submit status web board description 植樹節那天每...

一道簡單的題目

這是一道leetcode的題目,描述如下 given an unsorted integer array,find the first missing positive integer.for example,given 1,2,0 return 3,and 3,4,1,1 return 2.you...