https://www.acmicpc.net/problem/10250
10250๋ฒ: ACM ํธํ
ํ๋ก๊ทธ๋จ์ ํ์ค ์ ๋ ฅ์์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋๋ค. ํ๋ก๊ทธ๋จ์ ์ ๋ ฅ์ T ๊ฐ์ ํ ์คํธ ๋ฐ์ดํฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋๋ฐ T ๋ ์ ๋ ฅ์ ๋งจ ์ฒซ ์ค์ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ๋ฐ์ดํฐ๋ ํ ํ์ผ๋ก์ H, W, N, ์ธ ์ ์
www.acmicpc.net
1. ๋ฌธ์
ACM ํธํ ๋งค๋์ ์ง์ฐ๋ ์๋์ด ๋์ฐฉํ๋ ๋๋ก ๋น ๋ฐฉ์ ๋ฐฐ์ ํ๊ณ ์๋ค. ๊ณ ๊ฐ ์ค๋ฌธ์กฐ์ฌ์ ๋ฐ๋ฅด๋ฉด ์๋๋ค์ ํธํ ์ ๋ฌธ์ผ๋ก๋ถํฐ ๊ฑธ์ด์ ๊ฐ์ฅ ์งง์ ๊ฑฐ๋ฆฌ์ ์๋ ๋ฐฉ์ ์ ํธํ๋ค๊ณ ํ๋ค. ์ฌ๋ฌ๋ถ์ ์ง์ฐ๋ฅผ ๋์ ์ค ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ณ ์ ํ๋ค. ์ฆ ์ค๋ฌธ์กฐ์ฌ ๊ฒฐ๊ณผ ๋๋ก ํธํ ์ ๋ฌธ์ผ๋ก๋ถํฐ ๊ฑท๋ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ฅ ์งง๋๋ก ๋ฐฉ์ ๋ฐฐ์ ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ๊ณ ์ ํ๋ค.
๋ฌธ์ ๋ฅผ ๋จ์ํํ๊ธฐ ์ํด์ ํธํ ์ ์ง์ฌ๊ฐํ ๋ชจ์์ด๋ผ๊ณ ๊ฐ์ ํ์. ๊ฐ ์ธต์ W ๊ฐ์ ๋ฐฉ์ด ์๋ H ์ธต ๊ฑด๋ฌผ์ด๋ผ๊ณ ๊ฐ์ ํ์ (1 ≤ H, W ≤ 99). ๊ทธ๋ฆฌ๊ณ ์๋ฆฌ๋ฒ ์ดํฐ๋ ๊ฐ์ฅ ์ผ์ชฝ์ ์๋ค๊ณ ๊ฐ์ ํ์(๊ทธ๋ฆผ 1 ์ฐธ๊ณ ). ์ด๋ฐ ํํ์ ํธํ ์ H × W ํํ ํธํ ์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ํธํ ์ ๋ฌธ์ ์ผ์ธต ์๋ฆฌ๋ฒ ์ดํฐ ๋ฐ๋ก ์์ ์๋๋ฐ, ์ ๋ฌธ์์ ์๋ฆฌ๋ฒ ์ดํฐ๊น์ง์ ๊ฑฐ๋ฆฌ๋ ๋ฌด์ํ๋ค. ๋ ๋ชจ๋ ์ธ์ ํ ๋ ๋ฐฉ ์ฌ์ด์ ๊ฑฐ๋ฆฌ๋ ๊ฐ์ ๊ฑฐ๋ฆฌ(๊ฑฐ๋ฆฌ 1)๋ผ๊ณ ๊ฐ์ ํ๊ณ ํธํ ์ ์ ๋ฉด ์ชฝ์๋ง ๋ฐฉ์ด ์๋ค๊ณ ๊ฐ์ ํ๋ค.
๊ทธ๋ฆผ 1. H = 6 ์ด๊ณ W = 12 ์ธ H × W ํธํ ์ ๊ฐ๋ตํ๊ฒ ๋ํ๋ธ ๊ทธ๋ฆผ
๋ฐฉ ๋ฒํธ๋ YXX ๋ YYXX ํํ์ธ๋ฐ ์ฌ๊ธฐ์ Y ๋ YY ๋ ์ธต ์๋ฅผ ๋ํ๋ด๊ณ XX ๋ ์๋ฆฌ๋ฒ ์ดํฐ์์๋ถํฐ ์ธ์์ ๋์ ๋ฒํธ๋ฅผ ๋ํ๋ธ๋ค. ์ฆ, ๊ทธ๋ฆผ 1 ์์ ๋น๊ธ์ผ๋ก ํ์ํ ๋ฐฉ์ 305 ํธ๊ฐ ๋๋ค.
์๋์ ์๋ฆฌ๋ฒ ์ดํฐ๋ฅผ ํ๊ณ ์ด๋ํ๋ ๊ฑฐ๋ฆฌ๋ ์ ๊ฒฝ ์ฐ์ง ์๋๋ค. ๋ค๋ง ๊ฑท๋ ๊ฑฐ๋ฆฌ๊ฐ ๊ฐ์ ๋์๋ ์๋์ธต์ ๋ฐฉ์ ๋ ์ ํธํ๋ค. ์๋ฅผ ๋ค๋ฉด 102 ํธ ๋ฐฉ๋ณด๋ค๋ 301 ํธ ๋ฐฉ์ ๋ ์ ํธํ๋๋ฐ, 102 ํธ๋ ๊ฑฐ๋ฆฌ 2 ๋งํผ ๊ฑธ์ด์ผ ํ์ง๋ง 301 ํธ๋ ๊ฑฐ๋ฆฌ 1 ๋งํผ๋ง ๊ฑธ์ผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ด๋ค. ๊ฐ์ ์ด์ ๋ก 102 ํธ๋ณด๋ค 2101 ํธ๋ฅผ ๋ ์ ํธํ๋ค.
์ฌ๋ฌ๋ถ์ด ์์ฑํ ํ๋ก๊ทธ๋จ์ ์ด๊ธฐ์ ๋ชจ๋ ๋ฐฉ์ด ๋น์ด์๋ค๊ณ ๊ฐ์ ํ์ ์ด ์ ์ฑ ์ ๋ฐ๋ผ N ๋ฒ์งธ๋ก ๋์ฐฉํ ์๋์๊ฒ ๋ฐฐ์ ๋ ๋ฐฉ ๋ฒํธ๋ฅผ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ด๋ค. ์ฒซ ๋ฒ์งธ ์๋์ 101 ํธ, ๋ ๋ฒ์งธ ์๋์ 201 ํธ ๋ฑ๊ณผ ๊ฐ์ด ๋ฐฐ์ ํ๋ค. ๊ทธ๋ฆผ 1 ์ ๊ฒฝ์ฐ๋ฅผ ์๋ก ๋ค๋ฉด, H = 6์ด๋ฏ๋ก 10 ๋ฒ์งธ ์๋์ 402 ํธ์ ๋ฐฐ์ ํด์ผ ํ๋ค.
2. ์ ๋ ฅ
ํ๋ก๊ทธ๋จ์ ํ์ค ์ ๋ ฅ์์ ์ ๋ ฅ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋๋ค. ํ๋ก๊ทธ๋จ์ ์ ๋ ฅ์ T ๊ฐ์ ํ ์คํธ ๋ฐ์ดํฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋๋ฐ T ๋ ์ ๋ ฅ์ ๋งจ ์ฒซ ์ค์ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ๋ฐ์ดํฐ๋ ํ ํ์ผ๋ก์ H, W, N, ์ธ ์ ์๋ฅผ ํฌํจํ๊ณ ์์ผ๋ฉฐ ๊ฐ๊ฐ ํธํ ์ ์ธต ์, ๊ฐ ์ธต์ ๋ฐฉ ์, ๋ช ๋ฒ์งธ ์๋์ธ์ง๋ฅผ ๋ํ๋ธ๋ค(1 ≤ H, W ≤ 99, 1 ≤ N ≤ H × W).
3. ์ถ๋ ฅ
ํ๋ก๊ทธ๋จ์ ํ์ค ์ถ๋ ฅ์ ์ถ๋ ฅํ๋ค. ๊ฐ ํ ์คํธ ๋ฐ์ดํฐ๋ง๋ค ์ ํํ ํ ํ์ ์ถ๋ ฅํ๋๋ฐ, ๋ด์ฉ์ N ๋ฒ์งธ ์๋์๊ฒ ๋ฐฐ์ ๋์ด์ผ ํ๋ ๋ฐฉ ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ค.
4. ๋ฌธ์ ํ์ด
H= 6, W = 12, N=10
10/ 6 => 1.66 => ํธ์ ๋ฒํธ ๊ฒฐ์ , ๋ฑ ๋จ์ด์ง์ง ์์ผ๋ฉด ์์์ ์ ์ฌ๋ฆผํ๋ค.
10%6 => 4 => ์ธต ๊ฒฐ์ , ๋๋จธ์ง๊ฐ 0์ด๋ผ๋ฉด ์ธต์ H๊ฐ ๋๋ค.
C code
#include <stdio.h>
#include <math.h>
void ACM(int H,int W, int N){
int hotel[W][H];
int w = (N%H);
if(w==0){
w = H;
}
w = w *100;
//printf("w= %d\n",w);
int h = ceil(((double)N/(double)H));
//printf("h= %d\n",h);
printf("%d\n",w + h);
}
int main()
{
int H,W,N;//ํธํ
์ธต์, ๊ฐ ์ธต ๋ฐฉ์, ๋ช๋ฒ์งธ ์๋
int test;
scanf("%d",&test);
for(int i=0; i<test; i++){
scanf("%d %d %d",&H,&W,&N);
ACM(H,W,N);
}
return 0;
}