zoukankan      html  css  js  c++  java
  • ZOJ Problem Set

    这道题目很简单,考察的就是结构体数组的应用,直接贴代码了

    #include <stdio.h>
    #include <math.h>
    
    typedef struct color
    {
    	int r;
    	int g;
    	int b;
    
    }color;
    
    double distance(color c1,color c2)
    {
    	return sqrt(pow((c1.b-c2.b),2)+pow((c1.g-c2.g),2)+pow((c1.r-c2.r),2));
    }
    
    int equal(color c1,color c2)
    {
    	if(c1.r==c2.r&&c1.g==c2.g&&c1.b==c2.b)
    		return 1;
    	else 
    		return 0;
    }
    
    int main()
    {
    	color t[16];
    	int i;
    	for(i=0;i<16;i++)
    		scanf("%d%d%d",&t[i].r,&t[i].g,&t[i].b);
    	color c[1000];
    	color m[1000];
    	int r,g,b,n=0;
    	while(scanf("%d%d%d",&r,&g,&b)!=EOF&&r!=-1||g!=-1||b!=-1)
    	{
    		c[n].r=r;
    		c[n].g=g;
    		c[n].b=b;
    		m[n].r=t[0].r;
    		m[n].g=t[0].g;
    		m[n].b=t[0].b;
    
    		for(i=1;i<16;i++)
    		{
    			if(equal(c[n],t[i]))
    			{
    				m[n].r=t[i].r;
    				m[n].g=t[i].g;
    				m[n].b=t[i].b;
    				break;
    			}
    			if(distance(c[n],t[i])<distance(c[n],m[n]))
    			{
    				m[n].r=t[i].r;
    				m[n].g=t[i].g;
    				m[n].b=t[i].b;
    			}
    		}
    		n++;
    	}
    
    	for(i=0;i<n;i++)
    	{
    		printf("(%d,%d,%d) maps to (%d,%d,%d)
    ",c[i].r,c[i].g,c[i].b,m[i].r,m[i].g,m[i].b);
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    法正(17):玄德
    法正(16):舌战
    法正(15):卢氏
    法正(14):寿星
    struts2笔记---struts2的执行过程
    Oracle数据库(一)
    flask的使用(一)
    struts2--笔记(一)
    docker基础(二)
    docker安装及问题处理
  • 原文地址:https://www.cnblogs.com/xlturing/p/3300525.html
Copyright © 2011-2022 走看看