반응형
방학 하루 일솔 3일차
아직까지는 쌩 구현을 하고 있어서 상당히 편안하다.
#include<stdio.h>
int main (void){
int s_num,p_num;
scanf("%d",&s_num);
int s_state[101]={0,}; int sex[101]={0,}; int given_num[101]={0,};
for (int i=1;i<=s_num;i++)
{
scanf("%d",&s_state[i]);
}
scanf("%d",&p_num);
for(int i = 1;i<=p_num;i++)
{
scanf("%d %d",&sex[i],&given_num[i]);
}
for(int i = 1;i<=p_num;i++)
{
if(sex[i] == 1)
{
for(int j = 1; j<=s_num;j++)
{
if(j % given_num[i]==0)
s_state[j]=1-s_state[j];
}
}
else
{
int center= given_num[i];
int left = center -1;
int right = center+1;
while(left >= 1&& right<=s_num &&s_state[left]==s_state[right])
{
left--; right++;
}
for (int j = left + 1; j <= right - 1; j++) {
s_state[j] = 1 - s_state[j];
}
}
}
for (int i=1 ; i<=s_num; i++) {
printf("%d ",s_state[i]);
if(i % 20 ==0)
printf("\n");
}
}
이번 문제의 핵심은 다음과 같다.
스위치 토글을 간단히 표현하기
left,right를 이용하여 범위 지정해주기이다.
반응형
'백준 문제풀이' 카테고리의 다른 글
[C]늑대와 양 16956 문제 풀이 (0) | 2023.08.01 |
---|---|
(C)참외밭 백준 2477번 (0) | 2023.06.28 |
(C)백준 1002번 터렛 풀이 (0) | 2023.06.28 |
(C)백준 11332번 시간초과 C언어 풀이 (0) | 2023.06.24 |
방학동안 백준 하루 1솔 가보겟습니다. (0) | 2023.06.23 |