PKU 3640 Conformity
http://poj.org/problem?id=3640
n人の生徒達の科目選択のリストが渡される。
ここで科目選択の組み合わせのパターンで最も多い組み合わせと同じ組あわせの生徒は何人いるかを答えるというような問題。
最初問題文の意味が把握出来ませんでしたが、なんとか理解してみるとTLEがさけられない。
結局javaへと逃げました。hashmap
import java.util.*; import java.math.*; import java.lang.*; public class Main{ public static long in[]=new long[10000]; public static int tin[]=new int[5]; public static void main(String[] args){ Scanner cin=new Scanner(System.in); int n; while(true){ n=cin.nextInt(); if(n==0)break; HashMap<Long,Integer> app=new HashMap<Long,Integer>(); int max=0; for(int i=0;i<n;i++){ for(int j=0;j<5;j++)tin[j]=cin.nextInt(); Arrays.sort(tin); long t=0; for(int j=0;j<5;j++){ t=(t<<9)+tin[j]; } if(app.containsKey(t))app.put(t,(int)app.get(t)+1); else app.put(t,1); in[i]=t; max=Math.max(max,app.get(t)); } int ans=0; for(int i=0;i<n;i++){ if(max==app.get(in[i]))++ans; } System.out.println(ans); } } }