1733: 旋转图像
时间限制: 1 Sec 内存限制: 128 MB提交: 986 解决: 429
[提交][状态][讨论版][命题人:admin]
题目描述
输入
输出
样例输入
2
2 3
111
000
90
3 3
111
101
111
180
样例输出
01
01
01
111
101
111
#include <iostream> #include <algorithm> using namespace std ; int t , n , m ; char map[60][60] ; int result[60][60] ; int angle ; void solve(){ if(angle==0){ for(int i=1 ; i<=n ; i++){ for(int j=1 ; j<=m ; j++){ cout << result[i][j] ; } cout << endl ; } }else if(angle == 90){ for(int j=1 ; j<=m ; j++){ for(int i=n ; i>=1 ; i--){ cout << result[i][j] ; } cout << endl ; } }else if(angle == 180){ for(int i=n ; i>=1 ; i--){ for(int j=m ; j>= 1 ; j--){ cout << result[i][j] ; } cout << endl ; } }else if(angle == 270){ for(int j=m ; j>=1 ; j--){ for(int i=1 ; i<=n ; i++){ cout << result[i][j] ; } cout << endl ; } } return; } int main(){ cin >> t ; while(t--){ cin >> n >> m ; for(int i=1 ; i<=n ; i++){ scanf("%s" , map[i] + 1 ) ; for(int j=1 ; j<=m ; j++){ result[i][j] = map[i][j] - '0' ; } } cin >> angle ; solve() ; } return 0 ; }