Zerojudge b454:請輸出這張圖片的RGB數值
Zerojudge b454:請輸出這張圖片的RGB數值
題目大意:給你一張黑白的照片(共 $4096$ 像素),請你輸出全部像素的 $\text{RGB}$。
解法:我的作法是把圖片下載後,轉成 $\text{bmp}$ 檔,然後下載 $\text{UltraEdit}$,打開圖片,就會發現一件很奇怪的事情,它的像素行數顛倒了(第一行到最後一行),所以要寫程式把它反過來。然後可以發現,黑白照片 $\text{RGB}$ 是相同的,所以只須存一個數,輸出三次就好了。因為這題是黑白的,程式碼較小,所以不需特別壓縮,用 $16$ 進位就好了。
$\text{Code:}$
#pragma GCC optimize("O3")
#include <iostream>
using namespace std;
string str = "999794...i don't know";
int main() {
ios::sync_with_stdio (false), cin.tie (0);
cout << "64 64\n";
int now = 0;
for (int i = 0; i < 64; i++) {
for (int j = 0; j < 64; j++) {
int num;
if (str[now] >= '0' && str[now] <= '9')
num = str[now] - '0';
else
num = str[now] - 'A' + 10;
num *= 16, now++;
if (str[now] >= '0' && str[now] <= '9')
num += str[now] - '0';
else
num += str[now] - 'A' + 10;
now++;
cout << num << ' ' << num << ' ' << num << (j == 63 ? '\n' : ' ');
}
}
}
我的分享就到這裡結束了,如果喜歡我的 $\text{Blog}$,歡迎追蹤!
留言
張貼留言