zoukankan      html  css  js  c++  java
  • dd爱框框

    dd爱框框

    image

    一道思维题,画过转换图之后会发现最多会出现四种矩阵,那么只需要判断最后是哪一种就好了。
    同时对于连续的直接去重,因为两个连续相同的等于不操作。

    #include <bits/stdc++.h>
    using namespace std;
    
    const int N = 1010;
    int a[N][N], a180m[N][N], am[N][N], a180[N][N];
    vector<int> vec;
    int main(){
        int n;
        scanf("%d", &n);
        for(int i = 1; i <= n; i ++){
            for(int j = 1; j <= n; j ++){
                scanf("%d", &a[i][j]);
            }
        }
        for(int i = 1; i <= n; i ++){
            for(int j = 1; j <= n; j ++){
                a180[i][j] = a[n - i + 1][n - j + 1];
            }
        }
        for(int i = 1; i <= n; i ++){
        	for(int j = 1; j <= n; j ++){
        		a180m[i][j] = a[i][n - j + 1];
    		}
    	}
    	for(int i = 1; i <= n; i ++){
    		for(int j = 1; j <= n; j ++){
    			am[i][j] = a[n - i + 1][j];
    		}
    	}
        int q;
        cin >> q;
        int x;
        cin >> x;
        vec.push_back(x);
        for(int i = 2; i <= q; i ++){
            int x;
            scanf("%d", &x);
            if(x != vec.back())
                vec.push_back(x);
            else
                vec.pop_back();
        }
    	if(vec.size() == 0){
    		for(int i = 1; i <= n; i ++){
    			for(int j = 1; j <= n; j ++){
    				cout << a[i][j] << ' ';
    			}
    			cout << endl;
    		}
    	}
    	for(int i = 0; i < vec.size(); i ++) 
    		cout << vec[i] << ' ';
    	cout << endl;
        int ans = 0;
        for(int i = 0; i < vec.size(); i ++){
        	//cout << "vec = " << vec[i] << " ans = " << ans << endl;
        	if(vec[i] == 1 && ans == 0){
        		ans = 1;
    		}else if(vec[i] == 2 && ans == 0){
    			ans = 2;
    		}else if(vec[i] == 2 && ans == 1){
    			ans = 3;
    		}else if(vec[i] == 1 && ans == 2){
    			ans = 3;
    		}else if(vec[i] == 1 && ans == 3){
    			ans = 2;
    		}else if(vec[i] == 2 && ans == 3){
    			ans = 1;
    		}else if(vec[i] == ans){
    			ans = 0;
    		}
    	}
        if(ans == 0){
    		for(int i = 1; i <= n; i ++){
    			for(int j = 1; j <= n; j ++){
    				cout << a[i][j] << ' ';
    			}
    			cout << endl;
    		}
    	}else if(ans == 1){
    		for(int i = 1; i <= n; i ++){
    			for(int j = 1; j <= n; j ++){
    				cout << a180[i][j] << ' ';
    			}
    			cout << endl;
    		}
    	}else if(ans == 2){
    		for(int i = 1; i <= n; i ++){
    			for(int j = 1; j <= n; j ++){
    				cout << am[i][j] << ' ';
    			}
    			cout << endl;
    		}
    	}else if(ans == 3){
    		for(int i = 1; i <= n; i ++){
    			for(int j = 1; j <= n; j ++){
    				cout << a180m[i][j] << ' ';
    			}
    			cout << endl;
    		}
    	}
        
        return 0;
    }
    
  • 相关阅读:
    开启sftp服务日志并限制sftp访问目录
    Django-16-安装前端项目
    sql
    Django-15-用户模块、认证授权、session会话认证和token认证
    Django-14-项目工程搭建
    开发小技巧
    Django-13-类视图设计原则
    Django-11-自动生成routers路由、自定义action
    Django-9-序列化器中各种校验方式
    Django—问题—生成迁移脚本时报错:You are trying to add a non-nullable field 'gender' to interfaces without a default
  • 原文地址:https://www.cnblogs.com/pureayu/p/14826862.html
Copyright © 2011-2022 走看看