AOJ0065 Trading
問題リンク Trading
- 解法
取引先数が1000社以内なので、大きさ1001の配列t, t2を用意して(問題文に会社番号のとる値についての記載がありませんが番号は1000以下のようです)、それぞれ、会社iと取引した回数(今月分と先月分)をカウントします。
出力は会社番号の若い順なので、会社番号の小さい順にループを回して、t[i]とt2[i]が共に0でない会社について出力すればいいです。
- ソース
import java.util.Scanner; //Trading public class AOJ0065 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] t = new int[1001]; int[] t2 = new int[1001]; while(true){ String s = sc.nextLine(); if(s.equals(""))break; t[Integer.parseInt(s.split(",")[0])]++; } while(sc.hasNext()){ int x = Integer.parseInt(sc.nextLine().split(",")[0]); t2[x]++; } for(int i=0;i<=1000;i++)if(t[i]>0&&t2[i]>0)System.out.println(i+" "+(t[i]+t2[i])); } }