95全國資訊學科能力決賽 1. 影像像素轉換問題
題目好複雜,看不懂ODO,當懂得時候 就簡單啦!!
原本來以為要加上誤差(1e-12)之類的作運算...
/************************************************************/
#include<stdio.h>
#include<stdlib.h>
main()
{
double temp[4][4];
temp[0][0]=0.5149;
temp[0][1]=0.3244;
temp[0][2]=0.1607;
temp[1][0]=0.2654;
temp[1][1]=0.6704;
temp[1][2]=0.0642;
temp[2][0]=0.0248;
temp[2][1]=0.1248;
temp[2][2]=0.8504;
int n;
double sum;
while(scanf("%d",&n)==1)
{
sum=0.0;
int a,c;
double x,y,z;;
for(a=0;a<n;a++)
{
for(c=0;c<n;c++)
{
int r,g,b;
scanf("%d %d %d",&r,&g,&b);
x=r*temp[0][0]+g*temp[0][1]+b*temp[0][2];
y=r*temp[1][0]+g*temp[1][1]+b*temp[1][2];
z=r*temp[2][0]+g*temp[2][1]+b*temp[2][2];
sum=sum+y;
printf("%.4lf %.4lf %.4lf\n",x,y,z);
}
}
printf("The average of Y is %.4lf\n",sum/(n*n));
}
return 0;
}