CCF201503-1 图像旋转(100分)
生活随笔
收集整理的這篇文章主要介紹了
CCF201503-1 图像旋转(100分)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
| 試題編號: | 201503-1 |
| 試題名稱: | 圖像旋轉(zhuǎn) |
| 時間限制: | 5.0s |
| 內(nèi)存限制: | 256.0MB |
| 問題描述: | 問題描述 旋轉(zhuǎn)是圖像處理的基本操作,在這個問題中,你需要將一個圖像逆時針旋轉(zhuǎn)90度。 計算機中的圖像表示可以用一個矩陣來表示,為了旋轉(zhuǎn)一個圖像,只需要將對應(yīng)的矩陣旋轉(zhuǎn)即可。 輸入格式 輸入的第一行包含兩個整數(shù)n, m,分別表示圖像矩陣的行數(shù)和列數(shù)。 接下來n行每行包含m個整數(shù),表示輸入的圖像。 輸出格式 輸出m行,每行包含n個整數(shù),表示原始矩陣逆時針旋轉(zhuǎn)90度后的矩陣。 樣例輸入 2 3 1 5 3 3 2 4 樣例輸出 3 4 5 2 1 3 評測用例規(guī)模與約定 1 ≤ n, m ≤ 1,000,矩陣中的數(shù)都是不超過1000的非負(fù)整數(shù)。 |
問題鏈接:CCF201503試題。
問題描述:先輸入正整數(shù)n和m,再輸入n*m的整數(shù)矩陣,將矩陣逆時針旋轉(zhuǎn)90°輸出。
問題分析:這是一個下標(biāo)轉(zhuǎn)換問題,實際上并不需要將數(shù)據(jù)另外存儲。下標(biāo)轉(zhuǎn)換問題是程序中經(jīng)常出現(xiàn)的問題,邏輯并不復(fù)雜,需要找出轉(zhuǎn)換公式或函數(shù)。
程序說明:這里寫了C語言和C++語言兩個版本的程序。
提交后得100分的C語言程序如下:
/* CCF201503-1 圖像旋轉(zhuǎn) */#include <stdio.h>#define N 1000 int matrix[N][N];int main(void) {int n, m;// 輸入矩陣scanf("%d%d", &n, &m);for(int i=0; i<n; i++)for(int j=0; j<m; j++)scanf("%d", &matrix[i][j]);// 輸出結(jié)果for(int j=1; j<=m; j++) {for(int i=0; i<n; i++) {if(i != 0)putchar(' ');printf("%d", matrix[i][m-j]);}putchar('\n');}return 0; }
提交后得100分的C++語言程序如下:
/* CCF201503-1 圖像旋轉(zhuǎn) */#include <iostream>using namespace std;const int N = 1000; int matrix[N][N];int main() {int n, m;// 輸入矩陣cin >> n >> m;for(int i=0; i<n; i++)for(int j=0; j<m; j++)cin >> matrix[i][j];// 輸出結(jié)果for(int j=1; j<=m; j++) {for(int i=0; i<n; i++) {if(i != 0)cout << " ";cout << matrix[i][m-j];}cout << endl;}return 0; }
?
轉(zhuǎn)載于:https://www.cnblogs.com/tigerisland/p/7564225.html
總結(jié)
以上是生活随笔為你收集整理的CCF201503-1 图像旋转(100分)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 值传递和指针传递
- 下一篇: 农历鸡年(丁酉)正月初一第一博