AOJ_0025 Hit and Blow

問題

なんか前にも解いたことがあるような気がするが、きっと気のせい。

#include <cstdio>
using namespace std;

int main(){
	int a[4], b[4];
	while(true){
		for(int i = 0; i < 4; i++){
			if(scanf("%d", &a[i]) == EOF) return 0;
		}
		for(int i = 0; i < 4; i++){
			scanf("%d", &b[i]);
		}
		int hit = 0, blow = 0;
		for(int i = 0; i < 4; i++){
			if(a[i] == b[i]) hit++;
		}
		for(int i = 0; i < 4; i++){
			for(int j = 0; j < 4; j++){
				if(i == j) continue;
				if(a[i] == b[j]) blow++;
			}
		}
		printf("%d %d\n", hit, blow);
	}
	return 0;
}