본문 바로가기

4_ 고소한 알고리즘16

C- ACM - 지뢰찾기 지뢰찾기 게임을 구현합니다~ 지뢰위치는 '*'로 나타내고 그렇지 않다면 주변 8 방향의 지뢰매설 개수를 표시합니다. 저는 배열이 좋은데.. 이번에는 동적으로 구현 해 보았어요. 이렇게 하면 평당 얼마의 메모리 비용으로 저렴하게 지뢰밭을 만들 수 있겠죠~ㅋ 내용은 for문에 따라 [동적배열생성]->[지뢰생성]->[표시]->[메모리해제] 순서입니다. 지뢰 찾으러 갑시당~♪ #include #include #include #include int main(void) { srand((unsigned int)time(NULL));//랜덤seed설정 int N,M,counter; int **mine_farm; scanf("%d %d", &N, &M); N+=2;M+=2; // 마스크로 인해 끝부분이 두칸씩 잘리게 되.. 2010. 6. 23.
C- ACM - 수 뒤집기 언뜻 배열을 생각 할 수도 있으나 10진수 쉬프트의 개념으로 접근한다면 깔끔하게 풀수 있다는 조언을 받았죠. 즉, 변수 하나를 만들어서 1234 -> NULL 123 -> 4 12 -> 43 1 -> 432 이런식으로 원본(좌측)수는 나머지를 구한뒤 10씩 나누고 사본(우측) 은 원본의 나머지를 가져온뒤 10씩 곱해가는 과정입니다. 아 신기하당~ㅋㅋ #include int swapnum(int num_temp)//뒤집은 수를 만드는 함수 { int num_next=NULL;// 1. 빈 변수를 하나 만든뒤 while(num_temp>0)// 2. 원본의 수가 한자리가 될때까지 반복 { num_next*=10;// 3. 사본에 10씩 곱해서 앞으로 채워 넣습니다 num_next+=num_temp%10;//.. 2010. 6. 12.
C- ACM - 소수판정 반복문 { flag = 0 or 1; result= result * falg; } 보다 깔끔한.. 함수사용의 효율성을 배울 수 있었던 문제. 함수 { { if(...){return 0;} } return 1; } "아빠가 한번 안된다고 하면 안되는거야!"라는 의미ㅎ 1 보다 큰 정수 P 가 1 과 P 자신 이외의 양의 약수를 가지지 않을 때의 P 를 소수라고 부른다. 이를테면, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31 등은 모두 소수이다. 4, 6, 16 등과 같이 소수가 아니면서 2 이상인 자연수를 합성수라고 정의하며, 1 은 소수도 아니고 합성수도 아닌 수이다. 주어진 자연수 N 이 소수인지 아닌지를 판정하라. 입력 표준 입력(standard input)을 통하여 입력한다.. 2010. 6. 9.
C- ACM - 문자열 도도도 도시라~ 글자를 찾는 모습이 마치., 젓가락 행진곡 같지 않나요? ㅋㅋㅋ (도도도 도레미~) #include #include int main (void) { char input_char[1000]; int i_temp=NULL; int repeat=NULL; scanf("%d",&repeat); if(repeat10){printf("Only input range '1-10'\n");return 0;} for(int k=0; k 2010. 6. 8.
C- ACM - Coin 으음.. 막상 이해하고 나면 /이게 뭐야/ 할지도 ㅋㅋ In Korea, there are four kinds of coins – a 10-won coin, a 50-won coin, 100-won coin and a 500-won coin. Given K 10-won coins, L 50-won coins, M 100-won coins and N 500-won coins, you are to write a program that calculate the total amount. Input The input consists of T test cases. The number of test cases T is given in the first line of the input file. Each test ca.. 2010. 6. 8.
C- ACM - 더하기 대학생 경시대회의 기초 알고리즘 문제를 풀어봅시다. 이 코너는 부산-경남지역 알고리즘의 마스터 사로자바님과 함께 합니다 :D #include int main(void) { int set, num, repeat; int sum=NULL; scanf("%d", &repeat); for(int i=0; i 2010. 6. 7.