코딩문제/구름 IDE

1단계 : 의좋은 형제

Drill_Labito 2020. 7. 4. 04:00

간단하게 if 문을 쓸줄 알면 쉽게 해결할수 있는 문제.

여기서 함수 매개변수를 일일이 주기 귀찮아서, 전역변수를 컨트롤하는 형식으로 문제를 해결함.

(전역변수는 int형 변수 선언시 디폴트로 0이 들어감.)

 

#include <iostream>

using namespace std;

int num1, num2, sig; //0 : num1, 1 : num2

void cal(){
	int tmp = 0;
	if(sig == 0){ //num1
		if(num1%2 == 0){//odd
			tmp = num1/2;
			num1-=tmp;
			num2+=tmp;
		}
		else{//even
			tmp = num1/2 +1;
			num1-=tmp;
			num2+=tmp;
		}
	}
	else if(sig==1){ //num2
		if(num2%2 == 0){//odd
			tmp = num2/2;
			num2-=tmp;
			num1+=tmp;
		}
		else{//even
			tmp = num2/2 +1;
			num2-=tmp;
			num1+=tmp;
		}
	}
}

int main() {

	int n;
	 
	cin >> num1 >> num2 >> n;
	
	for(int i=0;i<n;i++){
		cal();
	
		if(sig==0) sig=1;
		else sig=0;
	}
	cout << num1 << " " << num2;
	
	return 0;
}