https://www.acmicpc.net/problem/1244
1244번: 스위치 켜고 끄기
첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩
www.acmicpc.net
[난이도] Silver3
[유형] 시뮬레이션
[풀이]
문제의 주어진 조건대로 시뮬레이션 해주면 됩니다.
#include <cstdio> int N,a[101],k; void sol1(int n){ for(int i=n;i<=N;i+=n){ a[i]=1-a[i]; } } void sol2(int n){ int k=0; for(int i=1;i<=N/2;i++){ if(n-i<1||n+i>N||a[n-i]!=a[n+i]) break; k=i; } for(int i=n-k;i<=n+k;i++){ a[i]=1-a[i]; } } int main(){ scanf("%d",&N); for(int i=1;i<=N;i++) scanf("%d",&a[i]); scanf("%d",&k); while(k--){ int p,m; scanf("%d%d",&p,&m); if(p==1){ sol1(m); }else{ sol2(m); } } for(int i=1;i<=N;i++){ printf("%d ",a[i]); if(i%20==0) puts(""); } }
https://github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Silver3/1244.cpp
'Problem-Solving > BOJ' 카테고리의 다른 글
[BOJ/백준][Bronze1] 2596 : 비밀편지 (C++) (0) | 2022.07.21 |
---|---|
[BOJ/백준][Silver5] 2622 : 삼각형만들기 (C++) (0) | 2022.07.21 |
[BOJ/백준][Silver5] 2635 : 수 이어가기 (C++) (0) | 2022.07.21 |
[BOJ/백준][Silver3] 2659 : 십자카드 문제 (C++) (0) | 2022.07.21 |
[BOJ/백준][Bronze1] 2669 : 직사각형 네개의 합집합의 면적 구하기 (C++) (0) | 2022.07.05 |