1. 程式人生 > >CCF201412 門禁系統(JAVA)

CCF201412 門禁系統(JAVA)

描述:

問題描述

  濤濤最近要負責圖書館的管理工作,需要記錄下每天讀者的到訪情況。每位讀者有一個編號,每條記錄用讀者的編號來表示。給出讀者的來訪記錄,請問每一條記錄中的讀者是第幾次出現。

輸入格式

  輸入的第一行包含一個整數n,表示濤濤的記錄條數。
  第二行包含n個整數,依次表示濤濤的記錄中每位讀者的編號。

輸出格式

  輸出一行,包含n個整數,由空格分隔,依次表示每條記錄中的讀者編號是第幾次出現。

樣例輸入

5
1 2 1 1 3

樣例輸出

1 1 2 3 1

評測用例規模與約定

  1≤n≤1,000,讀者的編號為不超過n的正整數。

 

package accessControlSystem;

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class Main {

	@SuppressWarnings("resource")
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();// 記錄條數
		Map<Integer, Integer> record = new HashMap<>();
		// 用於記錄對應編號的來訪者訪問次數。key為來訪者編號,value為該編號訪問次數
		int[] result = new int[n];
		for (int i = 0; i < n; i++) {
			int key = sc.nextInt();// 當前來訪者編號
			if (!record.containsKey(key))// 訪問記錄中沒有該編號的訪問記錄則建立
				record.put(key, 1);
			else
				record.put(key, record.get(key) + 1);// 訪問次數+1
			result[i] = record.get(key);// 將當前訪問次數記錄到要輸出的結果中
		}
		for (int r : result)
			System.out.print(r + " ");
	}

}