어흥

[CodeForces] Even Subset Sum Problem (C++) 본문

알고리즘/코드포스

[CodeForces] Even Subset Sum Problem (C++)

라이언납시오 2020. 3. 8. 12:26
728x90
반응형

문제 링크: https://codeforces.com/contest/1323/problem/A

 

Problem - A - Codeforces

 

codeforces.com

1. 구현

- 입력받은 배열의 개수가 1개이며 홀수라면 -1 출력

- 입력받은 배열에 짝수 값이 있으면 1과 함께 해당 짝수의 index 출력

- 입력받은 배열에 홀수가 2개 있다면 2와 함께 해당 홀수들의 index 출력

 

#include <iostream>
#include <algorithm>
using namespace std;
int arr[100];
int main() {
	ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
	int test;
	cin >> test;
	for (int t = 0; t < test; t++) {
		int num;
		cin >> num;
		for (int i = 0; i < num; i++)
			cin >> arr[i];
		bool even = false;
		bool avail = false;
		int even_result, odd1 = 0, odd2;
		for (int i = 0; i < num; i++) {
			if (arr[i] % 2 == 0) {
				even = true;
				even_result = i + 1;
				break;
			}
			else {
				if (odd1 == 0) odd1 = i + 1;
				else {
					odd2 = i + 1;
					avail = true;
					break;
				}
			}
		}
		if (even) 
			cout << 1 << '\n' << even_result << '\n';
		else {
			if (avail)
				cout << 2 << '\n' << odd1 << " " << odd2 << '\n';
			else
				cout << -1 << '\n';
		}				
	}
	return 0;
}
728x90
반응형
Comments