푸른다리컵: 특수한 질수 늑골(점차적으로 낮은 위치를 없애도 질수의 수, 특수질수) 귀속해법
7001 단어 블루 브리지 컵
푸른다리컵: 특수한 질수 늑골(점차적으로 낮은 위치를 없애도 질수의 수, 특수질수) 귀속해법
문제 설명
농민 존 암소는 항상 가장 좋은 갈비뼈가 생긴다.너는 농민 존과 미국 농업부가 갈비뼈 하나하나에 표시한 숫자를 통해 그것들을 알아볼 수 있다.농민 존은 그가 구매자에게 판매한 것이 진정한 질수 갈비뼈라고 확신했다. 왜냐하면 오른쪽부터 갈비뼈를 자르기 시작했기 때문이다. 매번 남은 갈비뼈의 숫자는 모두 질수를 구성하기 때문이다.
예를 들어 네 개의 갈비뼈가 있는 숫자는 각각 7331이다. 그러면 전체 갈비뼈의 숫자 7331은 질수이다.세 개의 갈비뼈 733은 질수이다.두 갈비뼈 73은 질수이다.물론 마지막 갈비뼈 7도 질수다.7331은 길이 4의 특수 질수라고 불린다.
주어진 갈비뼈의 수량 N(1<=N<=8)에 대한 프로그램을 작성하여 모든 특수한 질량을 구합니다.숫자 1은 하나의 질수로 간주되지 않는다.입력 형식은 별도의 줄에 N을 포함합니다.출력 형식은 줄마다 길이가 N인 특수 질수를 순서대로 출력합니다.샘플 입력
사
샘플 출력
2333
2339
2393
2399
2939
3119
3137
3733
3739
3793
3797
5939
7193
7331
7333
7393
생각
제목 주의: ↓
예를 들어 네 개의 갈비뼈가 있는 숫자는 각각 7331이다. 그러면 전체 갈비뼈의 숫자 7331은 질수이다.세 개의 갈비뼈 733은 질수이다.두 갈비뼈 73은 질수이다.물론 마지막 갈비뼈 7도 질수다.7331은 길이 4의 특수 질수라고 불린다.
처음에 내가 모든 수의 조합을 궁리한 줄 알았는데 길이가 4인 것부터 판단하고 길이가 1인 것을 보았다. 즉, 판단 7331, 판단 733, 판단 73, 판단 7이다. 나중에 이것이 시간을 소모하는 방법이라는 것을 발견했다
예를 들어 7 이 질수인지 아닌지를 먼저 판단하고 73 을 판단하고 733 을 판단한다. 마지막은 7331이다. 이때 나는 제목이 왜 오른쪽에서 잘라야 하는지 알았다. 판단의 순서와 진위의 규칙이 일치한다.
이렇게 하면 매번 귀속되어 들어가는 x가 모두 질수이고 효과적인 가지치기를 보장할 수 있다
코드
#include
#include
using namespace std;
int n;
int ans[114514];
int prime(int x)
{
if(x == 1)
{
return 0;
}
for(int i=2; i<=(int)sqrt(x); i++)
{
if(x%i == 0)
{
return 0;
}
}
return 1;
}
void dfs(int x, int len)
{
if(len > n)
{
cout<<x<<endl;
}
else
{
for(int i=1; i<=9; i++)
{
if(prime(x*10 + i))
{
dfs(x*10+i, len+1);
}
}
}
}
int main()
{
cin>>n;
dfs(0, 1);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Blu-Bridge 컵 -- Excel 주소문제 설명 Excel 셀의 주소는 열 번호를 알파벳으로 표시하는 흥미로운 것을 나타낸다. 예를 들면, A는 첫 번째 열을 나타냅니다. B는 두 번째 열을 나타냅니다. Z는 26열을 나타냅니다. AA는 27열을 나타냅...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.