ํฐ์คํ ๋ฆฌ ๋ทฐ
Programming/์๋ฃ๊ตฌ์กฐ
[์ฌ๊ท] ํ๋ฌธ, ์ฌ๊ท์ ๋๋๊ธฐ, ์ฌ๊ทํจ์๋ฅผ ์ด์ฉํ ์ค๋์ฟ ํ์ด
ํด๋์๊ทธ 2021. 4. 21. 04:191.
์ฝ๋:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int isPalindrome(char A[], int n, int i) {
if (n < 2)
return 1;
else if (A[i] != A[n - 1])
return 0;
else
isPalindrome(A, n - 1, ++i);
}
int main() {
char A[100];
gets(A);
printf("%d", isPalindrome(A, strlen(A), 0));
}
2.
์ฝ๋:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void divide(int a, int b, int cnt) {
if (a < b)
printf("%d %d", cnt, a);
else {
cnt++;
divide(a - b, b, cnt);
}
}
int main() {
int a, b;
scanf("%d %d", &a, &b);
divide(a, b, 0);
}
3.
์ฝ๋:
#include <stdio.h>
void backtracking(int n);
int check(int x, int y); // ๋น์นธ์ ๋ค์ด๊ฐ ์ซ์๊ฐ ์ค๋์ฟ ์กฐ๊ฑด์ ๋ง์กฑํ๋์ง ๊ฒ์ฌ ํจ์
int sutoku[9][9] = { 0 };
int blank[2][81] = { 0 }; // ๋น ์นธ์ ์ธ๋ฑ์ค ์ ์ฅ (blank[0][n] >>row, blank[1][n] >> column)
int cnt = 0; // ๋น์นธ์ ์ด ๊ฐฏ์ ์ ์ฅ
int end = 0; // ์ค๋์ฟ ์์ฑ >> ์ฌ๊ทํจ์ ํ์ถ์ ์ฌ์ฉ
int main() {
int b = 0;
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
scanf("%d", &sutoku[i][j]);
if (sutoku[i][j] == 0) {
blank[0][b] = i;
blank[1][b] = j;
b++;
cnt++;
}
}
}
for (int i = 1; i <= 9; i++) {
sutoku[blank[0][0]][blank[1][0]] = i;
backtracking(0);
if (end == 1)
break;
}
for (int i = 0; i < 9; i++) {
for (int j = 0; j < 9; j++) {
printf("%d ", sutoku[i][j]);
if (j / 8 == 1)
printf("\n");
}
}
return 0;
}
void backtracking(int n) {
int x = blank[0][n], y = blank[1][n];
if (check(x, y) == 0)
return;
if (n == cnt - 1) {
end = 1;
return;
}
for (int i = 1; i <= 9; i++) {
sutoku[blank[0][n + 1]][blank[1][n + 1]] = i;
backtracking(n + 1);
if (end == 1)
return;
}
sutoku[blank[0][n + 1]][blank[1][n + 1]] = 0;
}
int check(int x, int y) {
for (int i = 0; i < 9; i++) { // ๋น์นธ์ด ์๋ ํ ๊ฒ์ฌ
if (sutoku[x][y] == sutoku[x][i]) {
if (y == i) // ํ์ฌ ๋น์นธ๊ณผ ๊ฐ์ ๊ณณ์ ๊ฐ๋ฆฌํฌ ๋๋ return ์๋ >> ๊ฐ์ ์์น์ ์กด์ฌํ ๋๋ ๊ทธ๋ฅ ๋์ด๊ฐ๊ธฐ
continue;
return 0;
}
}
for (int i = 0; i < 9; i++) { //๋น ๊ฐ์ด ์ํ ์ด ๊ฒ์ฌ
if (sutoku[x][y] == sutoku[i][y]) {
if (x == i) //์์ ๊ฐ์ ์๋ฏธ
continue;
return 0;
}
}
for (int k = x / 3 * 3; k < x / 3 * 3 + 3; k++) {
for (int l = y / 3 * 3; l < y / 3 * 3 + 3; l++) {
if (x == k && y == l)
continue;
if (sutoku[x][y] == sutoku[k][l])
return 0;
}
}
return 1;
}
๋ฐ์ํ
'Programming > ์๋ฃ๊ตฌ์กฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ณต์ง์ฌํญ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
- Total
- Today
- Yesterday
๋งํฌ
TAG
- ํ์ด์ฌ์ฝํ
- ์ฝํ ์ค๋น
- DALLE
- ํ๋ก๊ทธ๋๋จธ์ค
- C์ธ์ด
- SKTECHSUMMIT
- ๋๋ฆผ๋ถ์ค
- AIRUSH2023
- ๊ตฌ๊ธ์ฝ๋ฉ
- HyperCLOVA
- ํ์ด์ฌ
- StableDiffusion
- AIRUSH
- gan
- SQL
- ์คํ ์ด๋ธ๋ํจ์
- lgaimers
- ๋ ผ๋ฌธ๋ฆฌ๋ทฐ
- ์ฝ๋ฉ์๋ฌ
- ์ฝํ
- MYSQL
- CLOVAX
- WGAN
- dreambooth
- AI์ปจํผ๋ฐ์ค
- Aimers
- ์ฝ๋ฉ๊ณต๋ถ
- ํ ํฌ์๋ฐ
- ๊ธฐ์ ์ปจํผ๋ฐ์ค
- ๋ ผ๋ฌธ์ฝ๊ธฐ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
๊ธ ๋ณด๊ดํจ