반응형

문제출처 : https://www.acmicpc.net/problem/1455
1455번: 뒤집기 II
세준이는 동전 뒤집기를 하려고 한다. 세준이는 동전을 N*M개 가지고 있다. 동전은 세로로 N개, 가로로 M개 크기의 직사각형에 차곡차곡 놓여져 있다. 동전의 앞면을 0이라고 하고 뒷면을 1이라고
www.acmicpc.net
문제풀이) (a,b)를 뒤집는데 (0,0)부터 (a,b) 까지 뒤집어야 되므로 끝에서 부터 만약 1을 만나면 모두 뒤집어 보면 된다.
#include <iostream>
#include <cstdio>
using namespace std;
int coin[110][110];
void Reverse(int y,int x)
{
for(int i=0;i<=y;i++)
{
for(int j=0;j<=x;j++)
{
coin[i][j]=1-coin[i][j]; ///0,0 부터 y,x 위치까지 뒤집어 주자.
}
}
}
int main()
{
int n,m;
cin >> n >> m;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
scanf("%1d",&coin[i][j]);
}
}
int cnt=0;
for(int i=n-1;i>=0;i--)
{
for(int j= m-1;j>=0;j--)
{
if(coin[i][j]==1)
{
cnt++;
Reverse(i,j);
}
}
}
cout << cnt;
return 0;
}
반응형
'알고리즘 > 백준' 카테고리의 다른 글
백준1526-가장 큰 금민수(브론즈1) (0) | 2020.09.15 |
---|---|
백준1459 - 걷기(브론즈1) (0) | 2020.09.14 |
백준1453-피시방알바(브론즈1) (0) | 2020.09.12 |
백준1418번-K세준수(브론즈1) (2) | 2020.09.11 |
백준1402-아무래도이문제는A번난이도인것같다(브론즈1) (0) | 2020.09.10 |