CCF201503-1 圖像旋轉——終於找到的錯

問題描述
  旋轉是圖像處理的基本操作,在這個問題中,你需要將一個圖像逆時針旋轉90度。
  計算機中的圖像表示可以用一個矩陣來表示,爲了旋轉一個圖像,只需要將對應的矩陣旋轉即可。
輸入格式
  輸入的第一行包含兩個整數nm,分別表示圖像矩陣的行數和列數。
  接下來n行每行包含m個整數,表示輸入的圖像。
輸出格式
  輸出m行,每行包含n個整數,表示原始矩陣逆時針旋轉90度後的矩陣。
樣例輸入
2 3
1 5 3
3 2 4
樣例輸出
3 4
5 2
1 3
評測用例規模與約定
  1 ≤ n≤ 1,000,矩陣中的數都是不超過1000的非負整數。

稍微有點坑的地方就是矩陣中【空格】的保留,而且行末不應該有多餘的空格。

但坑了我最久的並不是格式,而是CCF判題系統自帶個一個限制:當x不是0時,  if(x)  和  if (x != 0) 的判定結果好像並不相同。

具體是怎樣的區別我也不知道(雖然理論上是一樣的),但最後只有改了這裏才能過,前面省勁的寫法只有大大的WA...

下面附代碼:

#include<iostream>
using namespace std;

#define MAX 1000+5

int map[MAX][MAX];

int main(){
	int m, n;
	cin >> n >> m;
	for (int i = 0; i < n; i++){
		for (int j = 0; j < m; j++){
			cin >> map[m-j-1][i];
		}
	}
	for (int i = 0; i < m; i++){
		for (int j = 0; j < n; j++){
			if (j != 0) cout << " ";
			cout << map[i][j];
		}
		cout << endl;
	}
	return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章