https://www.acmicpc.net/problem/2566
2566๋ฒ: ์ต๋๊ฐ
์ฒซ์งธ ์ค์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๊ณ , ๋์งธ ์ค์ ์ต๋๊ฐ์ด ์์นํ ํ ๋ฒํธ์ ์ด ๋ฒํธ๋ฅผ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฐจ๋ก๋ก ์ถ๋ ฅํ๋ค. ์ต๋๊ฐ์ด ๋ ๊ฐ ์ด์์ธ ๊ฒฝ์ฐ ๊ทธ ์ค ํ ๊ณณ์ ์์น๋ฅผ ์ถ๋ ฅํ๋ค.
www.acmicpc.net
1. ๋ฌธ์
<๊ทธ๋ฆผ 1>๊ณผ ๊ฐ์ด 9×9 ๊ฒฉ์ํ์ ์ฐ์ฌ์ง 81๊ฐ์ ์์ฐ์ ๋๋ 0์ด ์ฃผ์ด์ง ๋, ์ด๋ค ์ค ์ต๋๊ฐ์ ์ฐพ๊ณ ๊ทธ ์ต๋๊ฐ์ด ๋ช ํ ๋ช ์ด์ ์์นํ ์์ธ์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์๋ฅผ ๋ค์ด, ๋ค์๊ณผ ๊ฐ์ด 81๊ฐ์ ์๊ฐ ์ฃผ์ด์ง๋ฉด
์ด๋ค ์ค ์ต๋๊ฐ์ 90์ด๊ณ , ์ด ๊ฐ์ 5ํ 7์ด์ ์์นํ๋ค.
2. ์ ๋ ฅ
์ฒซ์งธ ์ค๋ถํฐ ์ํ ๋ฒ์งธ ์ค๊น์ง ํ ์ค์ ์ํ ๊ฐ์ฉ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ์๋ 100๋ณด๋ค ์์ ์์ฐ์ ๋๋ 0์ด๋ค.
3. ์ถ๋ ฅ
์ฒซ์งธ ์ค์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๊ณ , ๋์งธ ์ค์ ์ต๋๊ฐ์ด ์์นํ ํ ๋ฒํธ์ ์ด ๋ฒํธ๋ฅผ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฐจ๋ก๋ก ์ถ๋ ฅํ๋ค. ์ต๋๊ฐ์ด ๋ ๊ฐ ์ด์์ธ ๊ฒฝ์ฐ ๊ทธ ์ค ํ ๊ณณ์ ์์น๋ฅผ ์ถ๋ ฅํ๋ค.
4. ๋ฌธ์ ํ์ด
1. ๋ฐฐ์ด ์ ์ธ ํ์ ์์
๋ฐฉ๋ฒ์ ์ฌ๋ฌ๊ฐ์ง์
1. ์ด์ค for๋ฌธ์ผ๋ก 9x9 ๋ฐฐ์ด์ scanf๋ก ๋ฐ๊ณ ,
๋ค์ ์ด์ค for๋ฌธ์ผ๋ก max ๊ฐ ๋น๊ตํด๋ ok
2. ์ด์ค for๋ฌธ์ผ๋ก 9x9 ๋ฐฐ์ด์ scanf๋ฐ๊ณ , ๋ฐ๋ก max ๋น๊ต
ํ์ง๋ง ๋ฐฐ์ด๊ฐ์ด ์ผํ์ฑ์ด๋ผ ๊ตณ์ด ์ ์ฅ์ํด๋ ๋จ
int arr์ ์ ๋ ฅ๊ฐ์ ๋ฐ๊ณ max๋ณด๋ค ํฌ๋ฉด
max=arr
n=i
m=j
๋ฅผ ํ๋ค.
!!์ฃผ์!!
์ด๋, n๊ณผ m์ ์ ์ธํ ๋ ์ด๊ธฐํ๋ฅผ ํด์ผ ํ๋ค.
max=-1๋ก ํ๋ค๋ฉด ์ ๋ ฅ๊ฐ์ด 0 or ์์ฐ์์ด๋ฏ๋ก if๋ฌธ์ ์ต์ 1๋ฒ์ ๊ฑฐ์น๋ค.
ํ์ง๋ง ์ฌ๊ธฐ์๋ max๊ฐ 0์ด๋ฏ๋ก 9x9 ๊ฐ์ด ๋ชจ๋ 0์ผ๋ if๋ฌธ์ ์๊ฑฐ์น๊ธฐ ๋๋ฌธ์ n(์ฐ๋ ๊ธฐ ๊ฐ) +1 ์ด๋ผ ์ค๋ฅ๊ฐ ๋๋ค.
(์ค๋ น ์ถ๋ ฅ์ ์ ๋๋ก ๋๋๋ผ๋ ๋ฐฑ์ค์์๋ ํ๋ฆฌ๊ฒ ๋์ค๊ณ , ์ด๋ฐ ์ต๊ด์ ์ํํจ)
C code
#include <stdio.h>
int main()
{
int arr;
int max =0;
int n=0; //0์ผ๋ก ์ด๊ธฐํํด์ผ ํจ
int m=0; //0์ผ๋ก ์ด๊ธฐํํด์ผ ํจ
//-> 9x9์ซ์๊ฐ 0์ผ๋ n+1์ n์ ์ฐ๋ ๊ธฐ ๊ฐ์ด ๋ค์ด๊ฐ ์์(์ค๋ฅ)
for(int i=0;i<9;i++){
for(int j=0; j<9; j++){
scanf("%d", &arr);
if(max < arr){
max = arr;
n=i;
m=j;
}
}
}
printf("%d\n",max);
printf("%d %d\n",n+1,m+1);
return 0;
}