暴力,不解释: { Author:wzx961008 Problem:UVa 102-Ecological Bin Packing Verdict:Accepted Language:PASCAL Run Time:0.068s Submission Date:2011-01-11 02:07:38 } const a:array[1..3]of char=('B','C','G'); var box:array[1..3,1..3]of longint; i,j,k,a1,a2,a3,num,min:longint; begin while not eof do begin for i:=1 to 3 do read(box[i,1],box[i,3],box[i,2]); readln; min:=maxlongint; for i:=1 to 3 do for j:=1 to 3 do for k:=1 to 3 do if (i<>j)and(j<>k)and(i<>k) then begin num:=0; num:=num+box[2,i]+box[3,i]; num:=num+box[1,j]+box[3,j]; num:=num+box[1,k]+box[2,k]; if num<min then begin min:=num; a1:=i; a2:=j; a3:=k; end; end; writeln(a[a1],a[a2],a[a3],' ',min); end; end.