hdu1005--(Number Sequence)
제목:제목 링크:http://acm.hdu.edu.cn/showproblem.php?pid=1005。
대체적인 사고방식:처음에 타 표를 사용 하여 규칙 을 찾 으 려 고 시 도 했 고 여러 조 의 수 를 입력 했다.각 조 의 수 는 일정한 규칙 이 있 었 다.제목 에 따라 f[n]=(A*f[n-1]+B*f[n-2])%7 을 알 수 있다.A 와 B 가 모두 7 의 배수 일 때 f[n](n>=2)는 0 으로 정 해 졌 기 때문에 이런 상황 은 단독으로 열거 할 수 있다.기본적으로 각 조 의 규칙 은 두 개의 연속 적 인 1 로 시작한다.그래서 시 계 를 치면(충분히 길 면 된다)연속 적 인 두 개의 1 의 위 치 를 판단 하고 기록 주기 가 길다.
다음은 ac 코드:
#include
int main(){
int A,B,i;
long n;
int f[201];
f[1]=f[2]=1;
while(scanf("%d %d %ld",&A,&B,&n)){
if(A==0&&B==0&&n==0)
break;
int ans;
if(A%7==0&&B%7==0){
if(n<=2)
ans=1;
else
ans=0;
}
else{
for(int i=3;i<=200;i++)
f[i]=(A*f[i-1]+B*f[i-2])%7;
int cnt; // cnt=1 wa, 。。。
for(int i=2;i<=200;i++){
if(f[i+1]==1&&f[i+2]==1)
cnt=i;
}
n%=cnt;
if(n==0)
n=cnt;
ans=f[n];
}
printf("%d
",ans);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
HDU 1421 침실 문제 풀이 보고서침실 을 옮 기 는 것 은 매우 힘 들 었 습 니 다. 그날 xhd 는 어 쩔 수 없 이 27 번 건물 에서 3 번 건물 로 옮 겨 야 했 습 니 다. 침실 안의 n 가지 물건 을 보고 xhd 는 멍 해 지기 시 작...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.