1 条题解
-
0
C :
#include<stdio.h> #include<math.h> #define N 200 void fun(char* s, int *red, int *green, int *blue) { int t; for (int i = 0; s[i]; i++) { if (i>= 1 && i <= 2) { if (s[i] <= '9') t = s[i] - '0'; else t = s[i] - 'A' + 10; *red = *red * 16 + t; } if (i<=4 && i>2) { if (s[i] <= '9') t = s[i] - '0'; else t = s[i] - 'A' + 10; *green = *green * 16 + t; } if (i<=6 && i>4) { if (s[i] <= '9') t = s[i] - '0'; else t = s[i] - 'A' + 10; *blue = *blue * 16 + t; } } } float huiduzhi(int red,int green,int blue) { float huiduzhi; huiduzhi = (11 * red + 16 * green + 5 * blue) / 32; return huiduzhi; } char a[N][N][N]; int main() { int i, j, w, h, hdz[N][N]; while (scanf("%dx%d", &w, &h) != EOF) { for (i = 0; i < h; i++) for (j = 0; j < w; j++) { scanf("%s", a[i][j]); } int sum = 0; for (i = 0; i < h; i++) { for (j = 0; j < w; j++) { int red = 0, green = 0, blue = 0; fun(a[i][j], &red, &green, &blue); hdz[i][j] = huiduzhi(red, green, blue); } } for (i = 0; i < h; i++) for (j = 0; j < w; j++) sum = sum + hdz[i][j]; float yuzhi; yuzhi = (192 + 2 * (sum / (w*h))) / 3; printf("%dx%d\n", w, h); for (i = 0; i < h; i++) { for (j = 0; j < w; j++) { if (hdz[i][j] < yuzhi) { if (j != w-1) printf("9 "); else printf("9"); } else { if (j != w-1) printf(" "); else printf(" "); } } printf("\n"); } } return 0; }
C++ :
#include <stdio.h> int main () { int w, h, i, j; int a[500]; int map[301][301]; char c, str[20]; for(i = 0 ; i < 11 ; i ++) { a['0' + i] = i; a['A' + i] = 10 + i; } while(scanf("%d%c%d",&w,&c,&h) != EOF) { int sum = 0; for(i = 0 ; i < h ; i ++) { for(j = 0 ; j < w ; j ++) { scanf("%s",str); int r = a[(int)str[1]] * 16 + a[(int)str[2]]; int g = a[(int)str[3]] * 16 + a[(int)str[4]]; int b = a[(int)str[5]] * 16 + a[(int)str[6]]; map[i][j] = (11 * r + 16 * g + 5 * b) / 32; sum += map[i][j]; } } int average_grayscale = sum / (w * h); int formala = (192 + 2 * average_grayscale) / 3; printf("%dx%d\n",w,h); for(i = 0 ; i < h ; i ++) { for(j = 0 ; j < w ; j ++) { if(j) printf(" "); if(map[i][j] < formala) printf("9"); else printf(" "); } printf("\n"); } } return 0; }
- 1
信息
- ID
- 1333
- 时间
- 5000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者