rt 这是代码:
#include<bits/stdc++.h>
using namespace std;
struct point{
char hex[2];
}picture2[105][105];
int hex_to_dec(int i,int j){
int dec=0;
if(picture2[i][j].hex[0]=='A'){
dec+=10;
}else if(picture2[i][j].hex[0]=='B'){
dec+=11;
}else if(picture2[i][j].hex[0]=='C'){
dec+=12;
}else if(picture2[i][j].hex[0]=='D'){
dec+=13;
}else if(picture2[i][j].hex[0]=='E'){
dec+=14;
}else if(picture2[i][j].hex[0]=='F'){
dec+=15;
}else{
dec+=(picture2[i][j].hex[0]-'0');
}
if(picture2[i][j].hex[1]=='A'){
dec+=(10*16);
}else if(picture2[i][j].hex[1]=='B'){
dec+=(11*16);
}else if(picture2[i][j].hex[1]=='C'){
dec+=(12*16);
}else if(picture2[i][j].hex[1]=='D'){
dec+=(13*16);
}else if(picture2[i][j].hex[1]=='E'){
dec+=(14*16);
}else if(picture2[i][j].hex[1]=='F'){
dec+=(15*16);
}else{
dec+=((picture2[i][j].hex[1]-'0')*16);
}
return dec;
}
string picture[100];
int dec_img[105][105],pic[105][105];
int main(){
int n,m;
cin>>n;
m=n;
for(int i=0;i<n;i++){
cin>>picture[i];
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
picture2[i][j].hex[0]=picture[i][2*j];
picture2[i][j].hex[1]=picture[i][2*j+1];
dec_img[i][j]=pic[i][j]=hex_to_dec(i,j);
}
}
for(int i=1;i<n-1;i++){
for(int j=1;j<m-1;j++){
dec_img[i][j]=(pic[i][j]+pic[i-1][j]+pic[i+1][j]+pic[i][j-1]+pic[i][j+1])/5.0;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cout<<round(dec_img[i][j])<<" ";
}
cout<<endl;
}
return 0;
}
/*
5
AB00FFAC97
BC11FFAB08
6700BFEC56
5081CFAB04
103DFFAC01
171 0 255 172 151
188 92 177 168 8
103 88 177 171 86
80 95 190 158 4
16 61 255 172 1
186 0 255 202 121
203 95 192 195 128
118 82 192 186 101
5 98 193 182 64
1 211 255 202 16
*/
第一段注释是输入样例
第二行是输出样例
第三行是我的输出
求解AWA蒟蒻一个请多指教