魔法少女,模拟
#include<bits/stdc++.h>
using namespace std;
vector<vector<int>> shun(const vector<vector<int>>&a,int x,int y, int r){
int n = a.size();
vector<vector<int>> result = a;
for(int i = -r;i<=r;i++){
for(int j = -r;j<=r;j++){
result[x+j][y-i] = a[x+i][y+j];
}
}
return result;
}
vector<vector<int>> ni(const vector<vector<int>>&a,int x,int y, int r){
int n = a.size();
vector<vector<int>> result = a;
for(int i = -r;i<=r;i++){
for(int j = -r;j<=r;j++){
result[x-j][y+i] = a[x+i][y+j];
}
}
return result;
}
int main(){
int n,m,num=1;
cin>>n>>m;
vector<vector<int>>a(n,vector<int>(n));
for(int i = 0;i<n;i++){
for(int j = 0;j<n;j++){
a[i][j]=num++;
}
}
for(int i = 0;i<m;i++){
int x, y, r, z;
cin>>x>>y>>r>>z;
x--;y--;
if(z == 0){
a = shun(a,x,y,r);
}else{
a = ni(a,x,y,r);
}
}
for(int i = 0;i<n;i++){
for(int j = 0;j<n;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
using namespace std;
vector<vector<int>> shun(const vector<vector<int>>&a,int x,int y, int r){
int n = a.size();
vector<vector<int>> result = a;
for(int i = -r;i<=r;i++){
for(int j = -r;j<=r;j++){
result[x+j][y-i] = a[x+i][y+j];
}
}
return result;
}
vector<vector<int>> ni(const vector<vector<int>>&a,int x,int y, int r){
int n = a.size();
vector<vector<int>> result = a;
for(int i = -r;i<=r;i++){
for(int j = -r;j<=r;j++){
result[x-j][y+i] = a[x+i][y+j];
}
}
return result;
}
int main(){
int n,m,num=1;
cin>>n>>m;
vector<vector<int>>a(n,vector<int>(n));
for(int i = 0;i<n;i++){
for(int j = 0;j<n;j++){
a[i][j]=num++;
}
}
for(int i = 0;i<m;i++){
int x, y, r, z;
cin>>x>>y>>r>>z;
x--;y--;
if(z == 0){
a = shun(a,x,y,r);
}else{
a = ni(a,x,y,r);
}
}
for(int i = 0;i<n;i++){
for(int j = 0;j<n;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
全部评论
相关推荐
10-25 11:57
南京航空航天大学 C++
强大的马里奥:92研究生学历够用一辈子的。读研无用论都是资本家鼓吹的,就怕底层这帮穷人因为读研思想和能力得到跃升,从而逆袭,不听管理 点赞 评论 收藏
分享
10-30 18:20
第一拖拉机制造厂拖拉机学院 C++
牛客41406533...:回答他在课上学,一辈子待在学校的老教授用三十年前的祖传PPT一字一句的讲解,使用谭浩强红皮书作为教材在devc++里面敲出a+++++a的瞬间爆出114514个编译错误来学 点赞 评论 收藏
分享
点赞 评论 收藏
分享