CSP题解|202309-2 坐标变换(其二)|80分

#include <bits/stdc++.h>
using namespace std;
class point{
	public:
		double x;
		double y;
		point(double x,double y){
			this->x = x;
			this->y = y;
		}
		point(){
			x=0;y=0;
		}
		void multiply(double k){
			this->x*=k;
			this->y*=k;
		}
		void rotate(double k){
			double tempX=x,tempY=y;
			x = tempX*cos(k)-tempY*sin(k);
			y = tempX*sin(k)+tempY*cos(k);
		}
		void say(){
			cout<<fixed<<setprecision(3)<<x<<" "<<fixed<<setprecision(3)<<y<<endl;
		}
};
class change{
	public:
	int type;
	double data;
	change(){
		type=0;
		data=0;
	}
	change(int i, double d){
		type=i;
		data=d;
	}
};
int main() {
   int opNum,queryNum;
   cin>>opNum>>queryNum;
   vector<change>ops;
   for(int i =0;i<opNum;i++){
   	int type;double d;
   	cin>>type>>d;
   	change c(type,d);
   	ops.push_back(c);
   }
   //开始输入操作数起始结尾和坐标
   while(queryNum--){
   	int beginNum,endNum;double x,y;
   	cin>>beginNum>>endNum>>x>>y;
   	beginNum--;endNum--;
   	point p(x,y);
   	for(int i =beginNum;i<=endNum;i++){
   		if(ops[i].type == 1){
   			p.multiply(ops[i].data);
		   }else{
		   	p.rotate(ops[i].data);
		   }
	   }
	   p.say();
   } 
    
}

80分,超时了...

全部评论

相关推荐

暴杀流调参工作者:春招又试了一些岗位,现在投递很有意思,不仅要精心准备简历,投递官网还得把自己写的东西一条一条复制上去,阿里更是各个bu都有自己的官网,重复操作无数次,投完简历卡完学历了,又该写性格测评、能力测评,写完了又要写专业笔试,最近还有些公司搞了AI辅助编程笔试,有些还有AI面试,对着机器人话也听不明白录屏硬说,终于到了人工面试又要一二三四面,小组成员面主管面部门主管面hr面,次次都没出错机会,稍有不慎就是挂。 卡学历卡项目卡论文卡实习什么都卡,没有不卡的😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务