폭력 매 거

17392 단어 매 거
매 거: 확 정 된 일정한 범위 내 에서 모든 가능 한 목표 해 를 검 측 하여 모든 목표 해 를 찾아낸다.매 거 를 폭력 구 해, 궁 거 법 이 라 고도 한다.
 
매 거 된 특징:
  • 가능 한 모든 목 표를 풀 고 일일이 검 사 를 한다.
  • 매 거 사상 은 매우 간단 하고 큰 사 고 량 이 없다.(시간 을 초과 하지 않 으 면 메모리 공간 을 초과 하지 않 고 매 거 진 것 이 좋 은 방법 이다)
  • 알림: 다른 알고리즘 이 생각 나 지 않 을 때 매 거 진 을 사용 하 세 요!
     
    매 거 방법 을 최적화 하 는 것 은 바로 당신 의 검 측 범 위 를 좁 히 고 검 측 방법 을 최적화 하 는 것 을 말 합 니 다.문제 에 대한 인식 이 깊 어 지고 대량의 문제 풀이 경험 을 쌓 아야 만 당신 의 매 거 진 방법 을 최적화 시 킬 수 있 습 니 다.
     
    예제: 한 신 점병
    한 신 은 자신의 군대 수 를 직접 점검 하지 않 는 다 고 전해 진다.그의 병사 들 이 연이어 3 인 1 소대, 5 인 1 소대, 7 인 1 소대 의 변화 대상 이 되 기만 한다 면, 그 는 매번 대열 의 꼬리 만 스 쳐 보면 인원 수 를 알 수 있다.3 개의 비정 수 a, b, c 를 입력 하면 각 대형 배열 의 인원 (a < 3, b < 5, c < 7) 을 나타 내 고 전체 인원 의 최소 값 (또는 보고 가 풀 리 지 않 음) 을 출력 합 니 다.총 인원 이 100 을 초과 하지 않 는 다 는 것 을 이미 알 고 있다.
    입력: 2 1 6
            2 1 3
    출력: 41
          No answer
     
     
     
     1 #include<stdio.h>
    
     2 int main()
    
     3 {
    
     4     int i,flag,a,b,c;
    
     5     
    
     6     while(scanf("%d%d%d",&a,&b,&c)!=EOF)
    
     7     {
    
     8         for(i=1;i<100;i++)
    
     9         {
    
    10             flag=0;
    
    11             if(i%3!=a)flag=1;
    
    12             if(i%5!=b)flag=1;
    
    13             if(i%7!=c)flag=1;
    
    14             if(flag==0)break;
    
    15         }
    
    16         if(flag==0)printf("%d
    ",i); 17 else 18 printf("No answer!"); 19 } 20 return 0; 21 }

     
     
     
  • 여러분 은 우리 의 코드 작성 습관 에 주의 하 는 것 이 좋 습 니 다. 예 를 들 어 상기 에서 우리 의 flag 는 k 로 대체 할 수 있 습 니 다. flag 를 사용 하면 다른 사람 이 읽 는 것 을 편리 하 게 하고 자신 이 디 버 깅 수정 하 는 것 을 편리 하 게 할 수 있 습 니 다.그 러 니까 이 습관 을 길러 야 돼.
  • 관찰 을 통 해 우 리 는 이미 목 표를 만족 시 킨 것 에 대해 반드시 a + 3x 의 형식 이 고 5 와 7 에 대해 서도 비슷 한 공식 을 만족 시 키 는 것 을 발견 했다.그러면 우 리 는 점차 증가 하 는 방식 을 바 꿀 수 있다.

  •  
     
     
    개 선 된 코드:
     1 #include<stdio.h>
    
     2 int main()
    
     3 {
    
     4     int flag,a,b,c,answer;
    
     5     
    
     6     while(scanf("%d%d%d",&a,&b,&c)!=EOF)
    
     7     {
    
     8         answer=a;flag=0;
    
     9         for(;answer<100;answer+=3)
    
    10             if(answer%5==b)
    
    11             {
    
    12                 flag++;
    
    13                 break;
    
    14             }
    
    15         for(;answer<100;answer+=15)
    
    16             if(answer%7==c)
    
    17             {
    
    18                 flag++;
    
    19                 break;
    
    20             }
    
    21         if(flag==2)printf("%d
    ",answer); 22 else 23 printf("No answer!"); 24 } 25 return 0; 26 }

     
     
     1 #include<stdio.h>
    
     2 #include<string.h>
    
     3 int main()
    
     4 {
    
     5     char str[3][20];
    
     6     int i,j,k,num,duan[2],weigh[2]={1,-1};
    
     7     int isthis,num_space,w;
    
     8     char c,flag;
    
     9 
    
    10     gets(str[0]);
    
    11 
    
    12     gets(str[1]);
    
    13 
    
    14     gets(str[2]);
    
    15 
    
    16     for(i=0;i<12;i++)
    
    17     {
    
    18         c=i+'A';flag=' ';
    
    19     //    printf("******************%c*********************
    ",c);
    20 for(k=0;k<2;k++) 21 { 22 isthis=0;w=weigh[k]; 23 for(j=0;j<3;j++) 24 { 25 duan[0]=duan[1]=0; 26 num=strchr(str[j],c)-str[j]; 27 // printf("num=%d
    ",num);
    28 num_space=strchr(str[j],' ')-str[j]; 29 // printf("num_space=%d
    ",num_space);
    30 // printf("%c %d
    ",str[j][num_space*2+1],num_space*2+1);
    31 32 if(num>=0&&num<num_space) 33 duan[0]=w; 34 if(num>num_space) 35 duan[1]=w; 36 num=duan[0]-duan[1]; 37 // printf("zhi=%d
    ",num);
    38 if(num==-1) 39 flag='d'; 40 if(num==0) 41 flag='e'; 42 if(num==1) 43 flag='u'; 44 // printf("flag=%c
    ",flag);
    45 46 if(flag!=str[j][num_space*2+2]) 47 break; 48 else 49 isthis++; 50 } 51 if(isthis==3) 52 { 53 printf("%c %d
    ",i+'A',weigh[k]); 54 break; 55 } 56 57 } 58 } 59 return 0; 60 }

     
     
     
     
    1307 A Mathematical Curiosity 궁 거 법
    1308 Safecracker 궁 거 법
    1197 Number Guessing 검색: 궁 거
    1186 Calling Extraterrestrial Intelligence Again 검색: 매 거 진
    1497 Coin Change 폭력 구 해
    1609 Moo University - Team Tryouts 정렬 + 궁 거 법
    1613 The Cow Lineup 궁 거 법
    1627 Rigging the Bovine Election 궁 거 법
    1629 Muddy Fields 궁 거 법
    1647 Securing the Barn 궁 거 법
    1668 DNA Assembly 궁 거 법
    1670 Cellphones 궁 거 법
    1673 Backward Digit Sums 궁 거 법
    1687 Big Square 궁 거 법
    1688 Round Numbers 매 거 진 바 이 너 리
    1795 The Cow Doctor 궁 거 법

    좋은 웹페이지 즐겨찾기