시 계 를 치다

이 글 을 쓰 는 것 은 제 가 시 계 를 치 는 방법 을 알려 드 리 는 것 입 니 다. 처음에는 1000 시 계 를 치 는 것 이 어렵다 고 생각 했 지만 정말 혼자 시도 하면 몇 분 이 걸 리 지 않 습 니 다. 모든 것 을 스스로 시도 해 야 합 니 다. 물론 다음 문 제 는 시 계 를 치 는 것 보다 더 적합 한 방법 이 있 을 것 입 니 다.
       제목 링크:http://acm.zjut.edu.cn/ShowProblem.aspx?ShowID=1218
      이전 단계 곱 하기 0 의 개수 와 다른 것 은 이전에 n 을 구 하 는 것 입 니 다!중 0 은 끝자리 의 0 만 있 으 면 됩 니 다. 문 제 를 잘 보 셨 으 면 좋 겠 습 니 다.할 줄 모 르 고 규칙 을 찾 지 못 했 지만 높 은 정밀도 의 곱 하기 수 치 를 구 하 는 것 을 알 고 있 습 니 다. 그러나 시간 을 초과 해서 어 쩔 수 없 었 습 니 다. 시 계 를 칠 생각 을 했 습 니 다. 처음에 복잡 하 게 생각 했 지만 실제 작업 할 때 그렇게 복잡 하지 않다 고 생각 했 습 니 다. 주로 제 타 표 과정 을 소개 하 는 것 입 니 다.
      제목 요 구 는 1000 개의 숫자 입 니 다. 저 는 먼저 1 - 1000 을 만 드 는 알고리즘 을 썼 습 니 다. for 순환 을 하고 새 수첩 에 기록 하 며 높 은 정밀도 템 플 릿 에 복사 하여 해당 하 는 값 을 만 들 고 전체 선택 에 따라 실행 결 과 를 복사 한 다음 에 타 표 프로그램 을 작성 합 니 다. 구체 적 인 코드 는 다음 과 같 습 니 다.
#include using namespace std; int a[200];//dev 의 조건 하에 서 여러 그룹의 데 이 터 를 실행 한 후에 뒤에 있 는 데이터 만 나타 날 수 있 기 때문에 int main () {int i, n; for (i = 1; i < 200; i++) cin >> a [i]; for (i = 2; i < 200; i + = 2) cout << a [i] << <,; return 0;} 을 변경 할 수 있 습 니 다.
나중에 앞에서 복사 한 데 이 터 를 높 은 정밀도 의 템 플 릿 에 넣 습 니 다.(DEV 에서 붙 여 넣 기 를 복사 하 는 방법 - 많은 그룹 테스트 데이터 가 있 을 때 가장 좋 은 방법 은 메모 장 을 이용 하여 테스트 할 데 이 터 를 메모 장 에 기록 한 다음 디 버 깅 할 때 오른쪽 단 추 를 눌 러 디 버 깅 상자 의 검은색 부분 을 클릭 하고 드 롭 다운 목록 에서 붙 여 넣 는 것 입 니 다. 데 이 터 를 추출 하려 면 모두 선택 한 후에 복사 하면 됩 니 다)디 버 깅 을 하면 우리 가 필요 로 하 는 데이터 배열 이 바로 나타 나 서 우리 의 타 표 프로그램 에 복사 하면 됩 니 다. 따라서 1 - 1000 시 계 를 치 는 데 몇 분 이 걸 리 지 않 습 니 다. 높 은 정밀도 의 단계 승 템 플 릿:
#include #include using namespace std; #define max 10000 string s1; int s[max]; int main() { int i,j,n,sum; while(cin>>n) { memset(s,0,sizeof(s)); s[0]=1; for(i=2;i<=n;i++) {int c=0; for(j=0;j=0;j--)if(s[j])break; for(i=j;i>=0;i--) s1+=s[i]+ '0';/cout << s1 << endl;/고정 밀 곱셈 의 값 int num = 0; for (i = 0; i < s1. length (); i++) if (s1 [i] = = '0') num++; cout << num << endl;} return 0;} 
다음은 이 문제 의 타 표 프로그램 입 니 다.
 #include using namespace std; int a[1001]={ 0,0,0,0,0,1,1,2,2,1,2,2,4,4,2,4,4,4,5,6,7,7,8,5,6,9,8,9,10,7,9,7,10,8,11,9,10, 12,16,12,9,15,13,13,12,13,16,11,14,14,19,18,18,17,18,18,17,20,17,19,19,26,20, 21,20,20,23,22,25,21,20,25,23,35,23,25,24,32,25,29,27,27,28,30,27,36,28,27,28, 34,28,29,29,32,37,32,36,26,35,28,30,//100 35,37,36,33,45,36,42,41,39,38,39,38,35,47,51,44,47,40,42,45,47,52,42,53,47,52, 54,50,48,51,46,54,61,56,57,53,49,54,57,60,53,56,53,58,57,57,57,50,52,51,60,61, 62,68,57,62,54,60,59,63,66,70,68,63,68,66,70,63,70,68,66,73,66,67,72,75,70,60, 74,75,66,79,69,75,81,83,67,73,72,74,82,80,70,87,81,80,76,80,71,76,//200 80,82,91,78,71,78,74,82,85,83,89,85,95,82,81,102,78,85,96,85,90,93,85,81,95,87, 102,99,96,89,89,98,93,88,93,94,91,100,96,99,104,100,94,102,103,97,101,100,105, 103,105,104,99,114,110,104,120,120,103,112,116,104,106,121,110,115,109,108,115, 103,117,105,133,128,113,125,108,102,122,115,109,111,109,120,135,126,116,116,117, 124,116,127,120,125,105,122,132,125,123,121,//300 128,124,115,142,131,130,123,133,142,117,136,136,129,134,125,134,129,136,128,133, 138,128,141,142,139,140,155,140,145,154,133,144,137,135,150,137,159,142,155,147, 137,155,144,150,160,144,159,149,147,143,158,147,166,163,153,158,172,162,150,166, 157,161,155,158,166,160,168,156,157,163,157,152,162,151,164,162,166,166,165,166, 167,165,172,154,172,172,172,171,163,172,161,161,170,174,191,169,171,175,179,178,//400 182,193,181,171,167,183,161,180,180,192,185,171,185,178,165,186,177,179,171,194, 179,189,178,189,197,198,184,193,186,197,188,176,202,201,184,199,190,177,205,198, 201,215,204,185,200,211,203,204,186,216,215,200,178,195,196,189,190,193,212,199, 189,202,210,207,199,213,203,191,227,201,215,213,200,199,207,207,225,208,196,198, 235,223,229,225,209,206,202,223,200,244,209,217,233,206,224,227,224,229,223,218,//(500) 221,236,222,222,216,223,221,225,231,233,237,227,220,242,243,217,234,221,236,235, 241,244,228,243,245,238,245,221,227,231,240,221,231,243,234,245,262,248,253,226, 250,244,247,232,237,240,244,233,260,243,270,232,281,264,247,228,248,252,241,264, 255,262,259,255,245,264,259,232,262,271,245,254,252,258,261,266,256,273,273,275, 261,254,270,268,269,255,262,255,273,259,267,286,247,286,268,263,253,249,267,272,//600 278,268,269,270,279,283,298,278,264,266,267,263,265,265,282,268,280,293,293,294, 269,302,294,280,300,295,284,284,304,282,300,292,289,274,303,320,291,286,285,293, 288,296,296,309,288,294,282,319,295,294,294,293,301,304,284,299,299,304,311,300, 311,301,322,297,298,312,322,310,301,330,309,307,334,301,317,314,276,327,338,312, 327,302,336,316,304,307,331,313,308,296,291,294,321,309,317,318,331,304,337,334,//700 327,332,326,313,320,315,338,319,325,314,332,316,331,322,352,315,336,337,333,332, 340,363,321,364,338,348,329,338,347,337,336,341,348,343,368,335,335,370,345,343, 350,319,336,355,347,348,354,346,330,335,336,351,354,366,374,356,363,366,349,348, 366,340,345,346,370,370,366,353,369,363,355,369,368,355,384,352,368,343,379,363, 371,365,368,367,367,382,353,350,378,369,370,370,375,368,361,362,374,388,362,397,//800 365,375,369,385,397,387,385,375,371,383,357,403,379,365,376,383,382,394,406,390, 384,374,393,400,393,382,385,383,391,402,372,386,382,385,389,382,388,419,383,407, 391,400,397,395,396,383,401,390,400,406,402,411,390,410,380,396,383,411,423,403, 392,413,398,378,436,414,417,407,411,415,393,415,421,394,411,419,429,434,431,415, 411,421,407,423,420,410,428,401,450,413,412,439,430,435,431,448,433,415,416,422,//900 443,432,434,442,419,475,405,439,440,442,435,423,418,412,409,431,437,443,436,439, 426,462,421,456,409,440,444,435,441,441,445,424,454,435,455,424,446,454,448,445, 453,446,453,448,437,445,474,445,472,458,445,448,462,450,443,463,468,456,447,460, 464,453,451,481,456,462,467,459,471,461,463,469,451,469,440,460,469,481,456,464, 446,451,473,483,488,492,478,490,457,474,486,467,498,459,496,483,478,466,469,472 }; int main() { int n; while(cin>>n) cout< POJ 1008 문제 풀이 보고서, 필기 만 합 니 다.
/***************************************************************************************************************
Description
   ,M.A. Ya                。        (          ) ,          
     365    Haab   。  Haab    19  ,    18  ,    20 ,        pop, no, 
zip, zotz, tzec, xul, yoxkin, mol, chen, yax, zac, ceh, mac, kankin, muan, pax, koyab, cumhu。         
0 19  。Haab         uayet,   5 , 0 4  。                   ,     
    ,       ,            。       ,            ,          
Tzolkin(holly ),     13      ,     20 ,                      。    
  1~13,       20 ,     :imix, ik, akbal, kan, chicchan, cimi, manik, lamat, muluk, ok, chuen, 
eb, ben, ix, mem, cib, caban, eznab, canac, ahau。  :                ,  ,      ,  
    :1 imix,2 ik,3 akbal,4 kan,5 chicchan,6 cimi,7 manik,8 lamat,9 muluk,10 ok,11 chuen,12 eb,13 ben,1 ix,
2 mem,3 cib,4 caban,5 eznab,6 canac,7 ahau,8 imix,9 ik,10 akbal ……                 。
Haab  Tzolkin        0, 1, ……  ,  0       。         :
Haab: 0. pop 0
Tzolkin: 1 imix 0
   M.A. Ya          Haab    Tzolkin 。
Input
Haab             :  .      
             Haab       。            ,    5000。
Output
Tzolkin             :
          
            。                  Tzolkin     。
****************************************************************************************************************/
#include<iostream>
#include<string>
#include<cstring>
#include<cstdio>
using namespace std;
string month,Haab[20]={"pop","no","zip","zotz","tzec","xul","yoxkin","mol","chen","yax",
                 "zac","ceh","mac","kankin","muan","pax","koyab","cumhu","uayet"},
       Tzokin[20]={"imix","ik","akbal","kan","chicchan","cimi","manik","lamat","muluk",
                   "ok","chuen","eb","ben","ix","mem","cib","caban","eznab","canac","ahau"};     
int m,num,sum,day,year;                        
int main()
{   cin>>num;
    cout<<num<<endl;
    while(num--)
    {   scanf("%d.",&day);
        cin>>month>>year;
        for(m=0;m<19;m++)
            if(month.compare(Haab[m])==0) break;
        sum=year*365+m*20+day;
        year=sum/260;day=(sum-20*(sum-year*260)%20)%13+1;
        cout<<day<<" "<<Tzokin[(sum-year*260)%20]<<" "<<year<<endl;
    }
    return 0;
}

 
 
 
 
 
 
 
 
 
 
 

좋은 웹페이지 즐겨찾기