learnings/PS

[PS/μ½”λ“œμ—…] 1097 : λ°”λ‘‘μ•Œ μ‹­μž λ’€μ§‘κΈ°

Une. 2021. 6. 29. 02:44
λΆ€λͺ¨λ‹˜μ„ κΈ°λ‹€λ¦¬λ˜ μ˜μΌμ΄λŠ” κ²€μ •/흰 색 λ°”λ‘‘μ•Œμ„ λ°”λ‘‘νŒμ— 꽉 μ±„μ›Œ κΉ”μ•„ 놓고 놀닀가...

"μ‹­(+)자 λ’€μ§‘κΈ°λ₯Ό ν•΄λ³ΌκΉŒ?"ν•˜κ³  μƒκ°ν–ˆλ‹€.

λ°”λ‘‘νŒ(19 * 19)에 흰 돌(1) λ˜λŠ” κ²€μ • 돌(0)이 λͺ¨λ‘ 꽉 μ±„μ›Œμ Έ λ†“μ—¬μžˆμ„ λ•Œ,
n개의 μ’Œν‘œλ₯Ό μž…λ ₯λ°›μ•„ μ‹­(+)자 λ’€μ§‘κΈ°ν•œ κ²°κ³Όλ₯Ό 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•΄λ³΄μž.


μž…λ ₯ μ˜ˆμ‹œ :

더보기

0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 
2
10 10 
12 12

 


좜λ ₯ μ˜ˆμ‹œ : 

더보기

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

 

μ˜μΌμ΄κ°€ μ–Όλ§ˆλ‚˜ μ‹¬μ‹¬ν–ˆκΈ°μ— μ €λž¬μ„κΉŒ.
영일이의 심심함을 λ‹¬λž˜μ£ΌκΈ° μœ„ν•΄μ„œλΌλ„ 문제λ₯Ό κΌ­ ν’€μ–΄μ•Ό ν–ˆλ‹€.

λ¨Όμ € λ°”λ‘‘νŒ μž…λ ₯λΆ€λΆ€ν„° κ΅¬ν˜„ν•΄λ³΄μž.
19x19 λ°”λ‘‘νŒμ΄κ³  μž…λ ₯이 10 10 인것과
좜λ ₯λΆ€μ˜ 10ν–‰10열이 바뀐것을 보아 λ¬Έμ œμ—μ„  1λΆ€ν„° μ‹œμž‘ν•˜λŠ” 인덱슀λ₯Ό μ“°κ³  μžˆλ‹€λŠ”κ²ƒμ„ μ•Œ 수 μžˆμ—ˆλ‹€.
κ·Έλ ‡λ‹€λ©΄ 20x20행열을 μƒμ„±ν•˜κ³  인덱슀λ₯Ό 1λΆ€ν„° μ‹œμž‘ν•˜λ©΄ μ–΄λ–¨κΉŒ!

	int a[20][20]={},n,x,y; //λ°”λ‘‘νŒ, μž…λ ₯λ°›λŠ” 횟수, 뒀집을 μ’Œν‘œ x,y

    for(int i=1;i<=19;i++){
        for(int j=1;j<=19;j++){
            cin>>a[i][j];
        }
    }

 

λ¬Έμ œλŠ” κ·Έ λ‹€μŒμ΄μ—ˆλ‹€.
μ’Œν‘œλ₯Ό μž…λ ₯λ°›κ³  바뀐 λͺ¨μ–‘을 보면, μ‹­μžμ˜ 쀑심은 κ·ΈλŒ€λ‘œμΈκ²ƒμ„ μ•Œμˆ˜ μžˆλ‹€.
....?뭐징,,,일단 μƒκ°λ‚˜λŠ”λŒ€λ‘œ μ½”λ“œλ₯Ό μ§°λŠ”λ°...

    cin>>n; //μž…λ ₯횟수
    for(int input = 1;input<=n;input++){
    
        cin>>x>>y; //μ’Œν‘œ

        for(int i = 1;i<=19;i++){
            for(int j = 1; j<=19;j++){
                if((i==x||j==y)&&(a[i][j]==0))a[i][j]=1;
                else if((i==x||j==y)&&(a[i][j]==1))a[i][j]=0;
            }
        }
    }

κ²°κ³Όκ°€ 좜λ ₯μ˜ˆμ‹œμ™€ 쑰금 λ‹¬λžλ‹€.

μˆ¨μ€ κ·Έλ¦Ό μ°ΎκΈ° ><

 

λ‚΄κ°€ μ§  ν”„λ‘œκ·Έλž¨μ˜ 좜λ ₯λΆ€μ—μ„œ 1이 λ‚¨λŠ”κ²ƒμ€ 이해가 κ°€λŠ”λ°, 좜λ ₯ μ˜ˆμ‹œμ˜ 1은 이해가 κ°€μ§€ μ•Šμ•˜λ‹€.
정말 ν•œμ°Έ λ“€μ—¬λ‹€ 보고 또 μƒκ°ν–ˆλ‹€.
음....λ„λŒ€μ²΄ 뭘까....
λ‚΄ μ•Œκ³ λ¦¬μ¦˜μ΄ 틀린것은 μ•„λ‹Œκ²ƒκ°™κ³ , κ·Έλ ‡λ‹€κ³  λ¬Έμ œμ—μ„œ μ›ν•˜λŠ” μ•Œκ³ λ¦¬μ¦˜μ€ μ•„λ‹Œκ²ƒ κ°™μ•˜λ‹€.
으 ν•˜μ—¬κ°„ μ–΄μ€‘κ°„ν•˜κ²Œ ν‹€λ¦° μ•Œκ³ λ¦¬μ¦˜μ΄ 제일 μˆ˜μ •ν•˜κΈ° μ–΄λ €μ›Œ!!!!γ… γ… 

κ·ΈλŸ¬λ‹€κ°€ 문득 λ“  생각.
μ € 1에 무슨 비밀이 μžˆλŠ”κ²ƒ κ°™λ‹€. 바뀐뢀뢄이 ν•œλ²ˆ 더 λ°”λ€Œλ©΄ 1이 λ˜λŠ”λ°, 좜λ ₯ μ˜ˆμ‹œμ—λŠ” 그게 μ€‘μ‹¬μ’Œν‘œμ—λ„ μžˆμ—ˆμœΌλ‹ˆ.
κ·Έλ ‡λ‹€λ©΄ μ€‘μ‹¬μ’Œν‘œκ°€ 2번 λ°”λ€ŒλŠ”κ²ƒμ΄ μ•„λ‹κΉŒ? 2번 λ°”λ€ŒλŠ” 일이 μ–΄λ–»κ²Œ μžˆμ„κΉŒ?
ν˜Ήμ‹œ ν•œλ²ˆμ— λ°”κΎΈλŠ”κ²ƒμ΄ μ•„λ‹Œ κ°€λ‘œλ₯Ό ν•œλ²ˆ λ°”κΎΈκ³  μ„Έλ‘œλ₯Ό ν•œλ²ˆ λ°”κΎΈλ©΄..? ν˜Ήμ‹œ 이것이...2번의 λΉ„λ°€...?

λ‘λ°°κ°€λ˜ 두 λ‘λ°°κ°€λ˜

κ·Έλ ‡κ²Œ κ°€λ‘œλ‘œ ν•œλ²ˆ μ„Έλ‘œλ‘œ ν•œλ²ˆ λ’€μ§‘λŠ”μͺ½μœΌλ‘œ λ‘œμ§μ„ μˆ˜μ •ν–ˆλ‹€.

cin>>n;
    for(int input = 1;input<=n;input++){
        cin>>x>>y;

        //κ°€λ‘œ λ°”κΎΈκΈ°
        for(int i=1;i<=19;i++){
            if(a[x][i]==0)a[x][i]=1;
            else if(a[x][i]==1)a[x][i]=0;
        }
        //μ„Έλ‘œλ°”κΎΈκΈ°
        for(int i=1;i<=19;i++){
            if(a[i][y]==0)a[i][y]=1;
            else if(a[i][y]==1)a[i][y]=0;
        }
    }

good~

 

ν’€κ³ λ‚˜λ‹ˆ λΏŒλ“―ν•˜λ„€μš©,,

사싀 μ € λ’€μ§‘λŠ” 둜직 μƒκ°ν•΄λ‚΄λŠ”λ°λ„ ν•œμ°Έ κ±Έλ Έμ§€λ§Œ ν—€ν—€....
μ‚°λ„˜μ–΄ μ‚°μ΄μ—ˆλ‹€.