【アルゴリズムコンテスト入門経典】練習問題3-10箱(Uva 1587)


一、テーマ
Uva1587
二、問題を解く構想
  • は6組の値を与えたが、データのサイズ順序が乱れているため、まず構造体で6組のデータを格納し、w>hを保証することを考慮した.
  • 次に6組の値をwで小から並べ替え、wが等しい場合はhで大から小まで並べ替える.
  • は、2つの等しい3対のデータが存在するかどうかを判断する.すなわち、この6組の数はab ab cd cd efであるべきである.
  • 保証条件3が満たされている場合、既にデータの並べ替え処理が行われているため、直方体を構成するにはaがc、bがe、dがf
  • を満たす必要があることが容易にわかる.
    具体的にはコードを参照
    三、コード
    #include
    struct pallet{
    	int w,h;
    }Pallet[6]; //             
    int issame(pallet a,pallet b){ //             
    	if((a.w==b.w) && (a.h==b.h)){
    		return 1;
    	}else{
    		return 0;
    	}
    } 
    int main(){
    	struct pallet temp;
    	int t;
    	while(scanf("%d %d",&Pallet[0].w,&Pallet[0].h)!=EOF){
    		if(Pallet[0].w