Koder / 박성훈
article thumbnail

출력 형식을 지키자!!!!! (복창중)

스위치 바꿀때의 팁!

^= 1 연산을 통해서

1이면 0으로, 0이면 1으로 바꿔줄수 있다.

 

그냥 구현문제라

뭐 설명할것도 별로 없다...

 

#include <stdio.h>

int swit[123] = {0};

int main(){
	int n,m;
	scanf("%d", &n);
	for(int i=1; i<=n; i++) scanf("%d", &swit[i]);
	
	int gender, num, s, e;
	scanf("%d", &m);
	for(int i=0; i<m; i++){
		scanf("%d %d", &gender, &num);
		if(gender == 1){
			for(int i=num; i<=n; i+=num){
				swit[i] ^= 1;
			}
		}
		if(gender == 2){
			s = e = num;
			while(1){
				s--;
				e++;
				if(s<1 || n<e){ break; }
				if(swit[s] != swit[e]){ break; }
			}
			s++;
			e--;
			for(int i=s; i<=e; i++){
				swit[i] ^= 1;
			}
		}
	}
	for(int i=1; i<=n; i++){ 
		if(i%20 == 0) printf("%d\n", swit[i]);
		else printf("%d ", swit[i]);
	}
	return 0;
}

AC.

 

 

반응형