๐Ÿ’  Cpp/[BOJ] ๋‹จ๊ณ„๋ณ„๋กœ ํ’€์–ด๋ณด๊ธฐ

[BOJ][C++] ๋ฐฑ์ค€ 10250๋ฒˆ : ACM ํ˜ธํ…”

์„ ๋‹ฌ 2021. 10. 15. 23:36
๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/10250

 

10250๋ฒˆ: ACM ํ˜ธํ…”

ํ”„๋กœ๊ทธ๋žจ์€ ํ‘œ์ค€ ์ž…๋ ฅ์—์„œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š”๋‹ค. ํ”„๋กœ๊ทธ๋žจ์˜ ์ž…๋ ฅ์€ T ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๋ฐ T ๋Š” ์ž…๋ ฅ์˜ ๋งจ ์ฒซ ์ค„์— ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” ํ•œ ํ–‰์œผ๋กœ์„œ H, W, N, ์„ธ ์ •์ˆ˜

www.acmicpc.net

 

๋ฌธ์ œ

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 ํ˜ธ์— ๋ฐฐ์ •ํ•ด์•ผ ํ•œ๋‹ค.

์ž…๋ ฅ

ํ”„๋กœ๊ทธ๋žจ์€ ํ‘œ์ค€ ์ž…๋ ฅ์—์„œ ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›๋Š”๋‹ค. ํ”„๋กœ๊ทธ๋žจ์˜ ์ž…๋ ฅ์€ T ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”๋ฐ T ๋Š” ์ž…๋ ฅ์˜ ๋งจ ์ฒซ ์ค„์— ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋Š” ํ•œ ํ–‰์œผ๋กœ์„œ H, W, N, ์„ธ ์ •์ˆ˜๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๊ฐ๊ฐ ํ˜ธํ…”์˜ ์ธต ์ˆ˜, ๊ฐ ์ธต์˜ ๋ฐฉ ์ˆ˜, ๋ช‡ ๋ฒˆ์งธ ์†๋‹˜์ธ์ง€๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค(1 ≤ H, W ≤ 99, 1 ≤ N ≤ H × W). 

์ถœ๋ ฅ

ํ”„๋กœ๊ทธ๋žจ์€ ํ‘œ์ค€ ์ถœ๋ ฅ์— ์ถœ๋ ฅํ•œ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ๋ฐ์ดํ„ฐ๋งˆ๋‹ค ์ •ํ™•ํžˆ ํ•œ ํ–‰์„ ์ถœ๋ ฅํ•˜๋Š”๋ฐ, ๋‚ด์šฉ์€ N ๋ฒˆ์งธ ์†๋‹˜์—๊ฒŒ ๋ฐฐ์ •๋˜์–ด์•ผ ํ•˜๋Š” ๋ฐฉ ๋ฒˆํ˜ธ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž…๋ ฅ๋ฐ›์•„์„œ ๋ฐ˜๋ณต๋ฌธ ์—ด๊ณ !

์—ฌ๊ธฐ์„œ ๋ฐฐ์ •ํ•  ๋ฐฉ์˜

์ธต์ˆ˜๋Š” ์ธต ๋‚˜๋ˆ„๊ธฐ ๋ฒˆํ˜ธ์˜ ๋‚˜๋จธ์ง€

ํ˜ธ์ˆ˜๋Š” ์ธต ๋‚˜๋ˆ„๊ธฐ ๋ฒˆํ˜ธ์˜ ๋ชซ

์ด๋ ‡๊ฒŒ ์ƒ๊ฐํ•˜๋ฉด ๋ฐ˜๋ณต๋ฌธ ์ค‘์ฒฉํ•  ํ•„์š”๋„ ์—†๋‹ค.

#include <iostream>

using namespace std;

int main () {

    int t;
    cin >> t;

    for(int i=0; i<t; i++){
        
        int h, w, n;
        cin >> h >> w >> n;

        int ans_h = n % h; //๋ฐฉ ๋†’์ด
        if(ans_h == 0)
            ans_h = h;
        int ans_w = (n-1)/h + 1; //๋ฐฉ ํ˜ธ์ˆ˜

        cout << ans_h*100 + ans_w <<"\n";
    }
    
    return 0;
}

 

TIL

- ์ถœ๋ ฅํ• ๋•Œ.. ๊ฐœํ–‰ ์•ˆํ•ด์„œ ํ‹€๋ฆฐ์‚ฌ๋žŒ ๋‚˜์•ผ๋‚˜....

๋ฐ˜์‘ํ˜•