홍보팀
I. 주제별 개요
ISBN 행 패스 게임 스테레오
영어 제목 ISBN 좌석 구도
실행 파일 이름 ISBN 블록 다이어그램
파일명 ISBN 을 입력합니다. Inseat.inball.indrawing.in 을 입력합니다.
출력 파일 이름 isbn.outseat.outball.outdrawing.out.
시험점당 시간 제한은 1 초 1 초 1 초 1 초입니다.
테스트 포인트10101010
각 시험 지점의 점수는10101010 입니다.
비교 방법 전체 텍스트 비교 전체 텍스트 비교 전체 텍스트 비교 전체 텍스트 비교 전체 텍스트 비교 전체 텍스트 비교
주제 유형 전통 전통 전통 전통
2. 출처 파일명을 실행합니다
파스칼 언어 ISBN 의 경우. Passseat.pasball.pasdrawing.pas.
C 언어의 ISBN 입니다. Cseat.cball.cdrawing.c
C++ 언어 ISBN 의 경우. CPPSEAT 입니다. CPPBall 입니다. CPPDrawing. CPP 입니다.
셋. 컴파일 명령 (최적화 스위치 없음)
파스칼 언어의 경우 FPC 국제 표준서 번호입니다. PASFPC 시트. PASFPC 볼. PASFPC 시트. 파스.
C 언어 gcc -o 국제 표준서 번호.
Isbn.c gcc–o 좌석
Seat.c gcc–o 볼
Ball.c gcc–o 시트
그리기. c
C++ 언어의 경우 g++–o ISBN
ISBN. CPP g++-o 좌석
Seat. CPP g++-o 볼
Ball.cpp g++–O.
그림
드로잉. CPP
넷. 실행 메모리 제한
최대 작동 메모리는 50m 50m 50m 50m 입니다.
참고 사항:
1. 파일 이름 (프로그램 이름 및 입력/출력 파일 이름) 은 소문자여야 합니다.
2.C/C++ 에서 함수 main () 의 반환 값 유형은 int 여야 하며 프로그램이 정상적으로 끝날 때 반환 값은 0 이어야 합니다.
3. 전국통일평가에 사용된 기계는 CPU 1.9GHz, 메모리 5 12M 으로 구성되어 있으며, 위 시한은 이 구성을 기준으로 합니다.
각 성은 자체 테스트 시 특정 구성에 따라 시한을 조정할 수 있다.
1.ISBN 번호
(isbn.pas/c/cpp)
문제 설명
정식으로 출판된 모든 책에는 그에 상응하는 ISBN 번호가 있다. ISBN 코드에는 9 자리 숫자, 1 비트 숫자 식별자 및 3 자리 숫자 구분 기호가 포함되며 "x-x-x-XXX-xxxx-x-x" 형식으로 지정됩니다. 여기서 기호 "-"는 구분 기호 (키보드의 빼기 기호) 입니다 ISBN 코드의 첫 번째 숫자는 이 책의 출판언어 (예: 영어의 경우 0) 를 나타냅니다. 첫 번째 구분 기호'-'뒤의 세 자리 숫자는 출판사를 대표한다. 예를 들어 670 은 바이킹 출판사를 대표한다. 두 번째 구분 기호 뒤의 다섯 자리 숫자는 출판사에서의 책 번호를 나타냅니다. 마지막 숫자는 식별 번호입니다.
식별자는 다음과 같이 계산됩니다.
첫 번째 숫자에 1 을 곱하고 두 번째 숫자에 2 를 곱하는 등. 결과 mod 1 1 을 이용하고 나머지는 식별 번호입니다. 나머지가 10 이면 식별자는 대문자 x 입니다. 예를 들어 ISBN 번호 0-670-82 162-4 의 식별자 4 는 067082/kloc-0 으로 계산됩니다
당신의 임무는 프로그램을 작성하여 입력한 ISBN 번호의 식별 코드가 정확한지 확인하고, 정확하다면' 예' 를 출력하면 됩니다. 만약 틀렸다면, 당신이 옳다고 생각하는 ISBN 번호를 출력하세요.
투입하다
입력 파일 ISBN.in 은 한 줄밖에 없으며 책의 ISBN 번호를 나타내는 문자 시퀀스입니다 (입력이 ISBN 번호의 형식 요구 사항을 충족하는지 확인).
출력물
Isbn.out*** * 한 줄을 출력합니다. 올바른 ISBN 번호 식별자를 입력하면 "정확함" 이 출력되고, 그렇지 않으면 올바른 ISBN 번호 (구분자 "-"포함) 가 지정된 형식으로 출력됩니다.
샘플 입력 및 출력 1
Isbn.in isbn.out
0-670-82 162-4 오른쪽
샘플 2 입력 및 출력
Isbn.in isbn.out
0-670-82162-0 0 0-670-82162-4
2. 좌석 줄
(seat.pas/c/cpp)
문제 설명
수업시간에 항상 동창들과 주변 사람들이 속삭이는 것은 초등학교 담임 선생님이 골치 아픈 일이다. 그러나 담임 선생님 유설이 재미있는 현상을 발견했다. 학생의 좌석이 확정되면 한정된 수의 D 쌍만 교실에서 귓속말을 한다. 학생들은 교실에서 m 열 n 열, I 열 j 열에 앉는다.
학생의 입장은 (I, j) 이다. 학생들의 출입을 용이하게 하기 위해 교실에는 K 개의 가로통로와 L 개의 세로통로가 있다. 그래서 똑똑한 눈은 학생들이 수업시간에 귓속말을 하는 문제를 줄일 수 있는 방법을 생각해 냈습니다. 그녀는 책상과 의자를 재배치하고, 책상과 의자 사이의 통로 위치를 바꿀 계획이었습니다. 만약 한 통로가 두 학생을 갈라놓는다면, 그들은 귓속말을 하지 않을 것이기 때문입니다.
유설에게 가장 좋은 채널 분할 방안을 제시하는 프로그램을 작성해 주세요. 이 방안에서 수업시간에 귓속말을 하는 학생이 가장 적다.
투입하다
입력 파일 seat.in 의 첫 번째 줄에는 m, n, k, l, d (2) 라는 5 개의 공백으로 구분된 정수가 있습니다
다음 D 행에서 각 줄에는 4 개의 정수가 공백으로 구분되어 있습니다. 첫 번째 I 행의 정수 4 개, 이순신, 가죽, 정렬은 위치 (,쉽게) 와 (가죽, 정렬) 에 앉아 있는 두 개의 동창회 커넥터 귀 (입력 보증 앞뒤 또는 좌우 인접) 를 나타냅니다.
입력 데이터는 최적의 시나리오의 고유성을 보장합니다.
출력물
출력 파일 seat.out*** * 두 줄.
첫 번째 줄에는 a 1A2...aK 라는 k 개의 정수가 포함되어 있습니다. A 1 과 A 1 사이, a2 와 a2+ 1 을 의미합니다
두 번째 행에는 l 개의 정수 b 1b2...bk 가 포함되어 b 1 과 b 1 사이 B2 와 b2+ 1 사이에 있어야 함을 나타냅니다
입출력 샘플
자리에 앉다
4 5 1 2 3
4 2 4 3
2 3 3 3
2 5 2 4 2
2 4
샘플 입출력 설명
* *
※
※++
1 2 3 4 5
위 그림에서 귀를 맞대고 있는 세 쌍의 동창들의 위치는 기호 *, ※,+로 표기되어 있으며, 그림에서 세 개의 굵은 선의 위치는 채널을 나타내고, 그림의 채널 분할 방안은 유일한 최선의 방안이다.
패스 게임
(ball.pas/c/cpp)
문제 설명
체육 수업을 할 때, 샤오만의 선생님은 늘 급우들과 함께 게임을 한다. 이번에 선생님은 학생들을 데리고 패스 게임을 했다.
게임의 규칙은 다음과 같다: N 명의 학생이 한 바퀴 돌고, 그 중 한 명이 공을 들고 있다. 선생님이 호루라기를 불 때, 그는 패스를 시작했다. 각 학생은 그 주위의 두 학생 중 한 명 (왼쪽 또는 오른쪽) 에게 공을 패스할 수 있다. 선생님이 다시 호루라기를 불면 패스가 멈춘다. 이때 공을 들고 건네주지 않는 학생은 실패자이다. 그가 너에게 공연을 해 줄 것이다.
똑똑한 작은 키는 재미있는 질문을 던졌다: 작은 키의 손에서 전해 오는 공을 M 번 전달한 후 작은 키의 손에 돌려보낼 수 있는 몇 가지 다른 패스 방법이 있는가? (윌리엄 셰익스피어, 햄릿, 지혜명언) (윌리엄 셰익스피어, 지혜명언) 두 패스 방법은 서로 다른 방법으로 간주되고, 공을 잡는 학생만 공을 잡는 순서에 따라 순서가 다르다. 예를 들어, 1 호, 2 번, 3 번, 소만이 1 호라고 가정하면, 세 번의 패스 후에 공을 소만의 손에 다시 넣는 방식은1-> 2->; 3->; 1 및1->; 3->; 2->; 1, ***2 가지.
투입하다
입력 파일 ball.in*** 에는 두 개의 정수 n, m (3) 이 있습니다
출력물
출력 파일 ball.out*** 에는 문제의 의미를 충족시키는 방법의 수를 나타내는 정수 행이 있습니다.
입출력 샘플
공이 골에 들어가다
3 3 2
제한
데이터의 40% 가 일치: 3
100% 데이터 일치: 3
4. 다각형
(drawing.pas/c/cpp)
문제 설명
소연은 총명한 소년이다. 그는 종종 주변 아이들에게 그가 재미있다고 생각하는 것을 이야기한다. 최근에 그는 아이들에게 입체도를 설명하려고 한다. 입체도를 그려 주세요.
오부치 게이조 위에는 m*n 변의 길이가 1 인 정사각형이 있는 m*n 의 직사각형 영역이 있으며, 각 정사각형에는 크기가 같은 블록이 쌓여 있습니다 (블록의 가로세로는 모두 1). 소연은 네가 이 정사각형의 3 차원 그림을 인쇄하기를 바란다. 각 빌딩 블록을 다음과 같은 형식으로 정의했습니다. 뒤집기 회전은 하지 않고 이 형식으로만 정확히 배치합니다.
+-+
//| 높음
+-+|
| |+
| | |/폭
+-+
길다
각 정점은 1 더하기 "+"로 표시되고 길이는 3 "-",폭은1"/",높이는 2 "|" 로 표시됩니다. 문자 "+"-"/"| "의 ASCII 코드는 각각 43, 45, 47, 124 입니다. 이 역할. (ASCII 코드 46) 배경으로 출력해야 합니다. 즉, 스테레오 이미지의 빈 부분을' 로 바꿔야 합니다. 。 3d 드로잉은 다음과 같습니다.
두 구성 블록이 서로 인접한 경우 다이어그램은 다음과 같습니다.
..+-+-+
。 ///|
+-+-+|
| | |+
| | |/.
+-+-+ .....
다음과 같이 두 구성 블록이 서로 인접해 있는 경우 :
..+-+
。 //|
+-+|
| |+
| |/|
+-+|
| |+
| |/.
+-+ .....
두 구성 블록이 서로 인접한 경우 다이어그램은 다음과 같습니다.
...+-+
…//|
..+-+|
。 //|+
+-+|/.
| |+ .....
| |/…
+-+...
입체도에서 (M, 1) 그리드 (즉, M 행 1 열 그리드) 에 있는 상향식 첫 번째 블록 (즉, 가장 낮은 블록) 을 정의하는 정점은 전체 그림의 왼쪽 아래 모서리입니다.
투입하다
입력 파일 drawing.in 의 첫 번째 행은 m*n 개의 그리드 (1) 를 나타내는 두 개의 정수 m 과 n 으로 공백으로 구분됩니다
다음 m 행은 각 줄에 n 개의 정수가 있는 m*n 행렬로 공백으로 구분됩니다. 여기서 I 행 j 열의 정수는 I 행 j 열의 그리드에 쌓인 빌딩 블록 수 (1
출력물
출력 파일 drawing.out 에는 제목 요구 사항에 대한 스테레오 다이어그램이 포함되어 있습니다. K 행 L 열의 문자 행렬입니다. 여기서 K 와 L 은 규정에 따라 최소한 K 행 L 열이 있어야 스테레오 이미지를 출력할 수 있음을 나타냅니다.
입출력 샘플
그림을 그려 내다
3 4
2 2 1 2
2 2 1 1
3 212 .....+-+-+...+-+
..+-+//| ..//|
。 //|-+-+|.+-+|
+-+|//|+-| |+
| |+-+|/+-+|/|
| |//|+//|-+|
+-+-+|/+-+|/|+
| | |+-| |+|/.
| | |/| |/|+ .....
+-+-+-+-+|/ ...
| | | | | |+ ....
| | | | | |/ .....
+-+-+-+-+ .....
전국 정보학 올림픽 리그 (NOIP2008) 복전
개선팀
I. 주제별 개요
벙어리원숭이 성냥개비 등 판박이지 쌍겹으로 분류하다.
영어 제목 단어 매칭 정보 페름기
실행 파일 이름 단어 일치 메시지 2 스택
파일 이름 단어 inmatches 를 입력합니다. 메시지 중. 쌍쌍이 짝을 이루다.
출력 파일 이름 word.outmatches.outmessage.out twostack.out.
시험점당 시간 제한은 1 초 1 초 1 초 1 초입니다.
테스트 포인트10101010
각 시험 지점의 점수는10101010 입니다.
비교 방법 전체 텍스트 비교 전체 텍스트 비교 전체 텍스트 비교 전체 텍스트 비교 전체 텍스트 비교 전체 텍스트 비교
주제 유형 전통 전통 전통 전통
둘째, 소스 파일 이름을 제출합니다
파스칼 언어의 단어. Pasmatches.pasmessage.pastwostack.pas.
C 언어의 단어. C 일치. C 메시지. CTWOStack.c
C++ 언어의 경우 word 입니다. CPP 일치. CPP 메시지입니다. CPP 페름기. CPP 입니다.
셋. 컴파일 명령 (최적화 스위치 제외)
파스칼 언어 fpcword 의 경우. Pasfpmatches. Pasfpcmessage. Pasfptwostack. 파스.
C 언어 gcc–o word word.cgcc–o matches matches.cgcc–o message message.cgcc–o two stack two stack.c 의 경우
C++ 언어 G++-o word word 의 경우. CPPG ++ o 일치. CPPG ++ o 메시지. CPPG ++ o 두 스택 두 스택. CPP 입니다.
넷째, 메모리 제한 실행
최대 작동 메모리는 50m 50m 50m 50m 입니다.
참고 사항:
1. 파일 이름 (프로그램 이름 및 입력/출력 파일 이름) 은 대문자여야 합니다.
2.C/c++ 에서 함수 main () 의 반환 값 유형은 int 여야 하며 프로그램이 정상적으로 끝날 때 반환 값은 0 이어야 합니다.
3. 전국통일평가에 사용된 시스템은 CPU 1.9GHz, 메모리 5 12M 으로 구성되어 있으며, 위 시한은 이 구성을 기준으로 합니다. 각 성은 자체 테스트 시 특정 구성에 따라 시한을 조정할 수 있다.
1 .. 어리석은 원숭이
(wird.pas/c/cpp)
문제 설명
멍청한 원숭이는 어휘량이 적어 영어 객관식 문제를 할 때마다 머리가 아프다. 그러나 그는 방법을 찾았고, 이 방법이 정확한 옵션을 선택할 확률이 매우 높다는 것이 실험적으로 증명되었다!
이 방법에 대한 구체적인 설명은 다음과 같습니다. maxn 은 한 단어에서 가장 자주 발생하는 글자 수이고, Minn 은 한 단어에서 가장 빈도가 낮은 글자가 나타나는 횟수입니다. Maxn-minn 이 소수라면, 멍청한 원숭이는 이것이 길조자라고 생각하는데, 이런 글자가 정답일 가능성이 높다.
투입하다
입력 파일 word.in 은 한 줄만 있는 단어이며 소문자만 나타날 수 있으며 길이는 100 보다 작습니다.
출력물
출력 파일 word.out*** 두 줄, 첫 번째 줄은 문자열입니다. 입력 단어가 행운의 단어라고 가정하면' 행운의 단어' 가 출력됩니다. 그렇지 않으면' 대답 없음' 이 출력됩니다.
두 번째 행은 정수입니다. 입력 단어가 행운의 단어이면 maxn-minn 의 값을 출력하고, 그렇지 않으면 0 을 출력합니다.
샘플 입력 및 출력 1
단어 입력 단어 출력
잘못된 행운의 단어
2
I/O 예 1 설명
단어 error 에서 가장 자주 나타나는 문자 R 은 세 번, 가장 빈도가 낮은 문자 1 회, 3-1= 2,2 는 소수입니다.
샘플 2 입력 및 출력
단어 입력 단어 출력
올림픽에는 답이 없다
샘플 2 해석 입력 및 출력
올림픽이라는 단어에서 발생 빈도가 가장 높은 문자 I 가 두 번 나타났고, 발생 빈도가 가장 낮은 글자는 1 회, 2- 1= 1, 1 은 소수가 아니다
2. 성냥봉 방정식
(matches.pas/c/cpp)
문제 설명
N 개의 성냥개비를 줄게, 너는' A+B=C' 와 비슷한 방정식을 몇 개 쓸 수 있니? 방정식에서 A, B, C 는 성냥개비로 합친 정수입니다 (숫자가 0 이 아니면 가장 높은 자리는 0 이 될 수 없음). 그림과 같이 성냥봉으로 숫자 0-9 를 철자합니다.
참고:
1. 더하기 기호와 등호는 각각 성냥대 두 개가 필요합니다.
2. A≠B 인 경우 A+B=C 와 B+A=C 는 다른 방정식 (a, b, C >;; =0)
3. 모든 n 개의 성냥대를 사용해야 합니다.
투입하다
Matches.in 파일에 * * * * 한 줄과 다른 정수 n (n) 을 입력합니다
출력물
출력 파일 matches.out*** * 는 철자가 가능한 다른 방정식의 수를 나타내는 행입니다.
샘플 입력 및 출력 1
성냥. 성냥에 들어가다. 밖으로
14 2
I/O 예 1 설명
이 두 방정식은 0+ 1= 1 및 1+0= 1 입니다.
샘플 2 입력 및 출력
성냥. 성냥에 들어가다. 밖으로
18 9
샘플 2 해석 입력 및 출력
이 9 개의 방정식은 다음과 같습니다.
0+4=4
0+11=11
1+10 =11
2+2=4
2+7=9
4+0=4
7+2=9
10+1=11
11+0 =11
쪽지를 전달하다
(wassage.pas/c/cpp)
문제 설명
소연과 소헌은 좋은 친구이자 동창이다. 그들은 함께 있으면 항상 끝없는 화제가 있다. 한 번의 자질 확장 활동에서 반 친구들은 M 행 N 열의 행렬을 마련하고, 소연과 소헌은 행렬 대각선의 양끝에 배치되어 직접 대화할 수 없다. 다행히도, 그들은 쪽지를 전달함으로써 소통할 수 있다. 메모는 많은 학우를 통해 상대방에게 보내질 것이다. 소연은 행렬의 왼쪽 위 모서리에 앉아 좌표가 (1, 1), 소헌은 행렬의 오른쪽 아래 모서리에 앉아 좌표가 (M, N) 이다. 소원에서 소헌까지의 음표는 아래쪽이나 오른쪽으로만 전달될 수 있고, 소헌에서 소원까지의 음표는 위쪽이나 왼쪽으로만 전달될 수 있다.
행사 중에 소연은 소헌에게 쪽지 한 장을 보내고, 소헌이 그에게 회답을 주길 바란다. 반의 모든 사람이 그들을 도울 수 있지만, 한 번만 전달할 수 있다. 즉, 만약 이 사람이 소연에게 쪽지 한 장을 건네면서 도와준다면, 그는 소헌이 소연에게 건네줄 때 도와주지 않을 것이다. (알버트 아인슈타인, Northern Exposure (미국 TV 드라마), 남녀명언) 반대의 경우도 마찬가지입니다.
또 한 가지 유의할 점은 반의 모든 학생들의 호감도가 높고 낮다는 점이다 (참고: 소연과 소헌은 호감도를 정의하지 않고 0 으로 입력). 0- 100 의 자연수로 나타낼 수 있다. 숫자가 클수록 좋다. 소연과 소헌은 가능한 선량도가 높은 학우를 찾아 쪽지 전달을 도와주길 바란다. 즉, 두 개의 왕복 경로를 찾아 이 두 경로의 학우들의 선량함이 가장 크다는 것을 알 수 있다. (윌리엄 셰익스피어, 햄릿, 믿음명언) (윌리엄 셰익스피어, 햄릿, 믿음명언) 자, xiaoyuan 과 xiaoxuan 이 두 가지 방법을 찾도록 도와주세요.
투입하다
입력 파일 message.in 의 첫 번째 줄에는 m 행과 n 열 (1
다음 m 행은 m*n 행렬입니다. 행렬의 I 행 j 열의 정수는 I 행 j 열에 앉아 있는 학생들의 선의를 나타냅니다. 각 행의 n 개 정수는 공백으로 구분됩니다.
출력물
출력 파일 message.out*** 에는 쪽지 배달에 참여한 두 학생의 선심의 최대 합을 나타내는 정수가 포함되어 있다.
입출력 샘플
메시지 입력 메시지 출력
3 3
0 3 9
2 8 5
5 7 0 34
제한
데이터의 30% 가 1
100% 의 데이터 충족: 1
4. 이중 스택 정렬
(twostack.pas/c/cpp)
문제 설명
Tom 은 최근 흥미로운 정렬 문제를 연구하고 있습니다. 그림과 같이 Tom 은 두 개의 스택 S 1 및 S2 를 통해 다음 네 가지 연산으로 입력 시퀀스를 오름차순으로 정렬하려고 합니다.
조작 a
입력 시퀀스가 비어 있지 않으면 첫 번째 요소가 스택 S 1 으로 푸시됩니다.
작업 b
스택 S 1 이 비어 있지 않으면 스택 S 1 의 맨 위 요소가 출력 시퀀스로 배출됩니다.
운영 c
입력 시퀀스가 비어 있지 않으면 첫 번째 요소가 스택 S2 로 푸시됩니다.
작업 d
스택 S2 가 비어 있지 않으면 스택 S2 의 맨 위 요소가 출력 시퀀스로 배출됩니다.
1~n 의 변위 p 가 출력 시퀀스 1, 2, ... (n- 1), n, Tom 을 "이중 스택 정렬 가능 정렬" 이라고 합니다 예를 들어, (1, 3,2,4) 는 "이중 스택 정렬 가능 시퀀스" 이고 (2,3,4, 1) 는 그렇지 않습니다. 다음 그림은 정렬 (1, 3,2,4): < a, c, c, b, a, d, d, b>
물론 이러한 작업 순서가 몇 개 있을 수 있습니다. 위 예 (1, 3, 2, 4) 의 경우 < a, c, c, b, a, d, d, b> 는 또 다른 실행 가능한 작업 순서입니다. 톰은 사전 순서가 가장 작은 연산 순서가 무엇인지 알고 싶어한다.
투입하다
입력 파일 twostack.in 의 첫 번째 행은 정수 n 입니다.
두 번째 행에는 n 개의 양의 정수가 있으며 공백으로 구분되어 1 ~ n 의 배열을 형성합니다.
출력물
한 줄의 파일 twostack.out*** 을 내보내고, 입력 배열이 "이중 스택 정렬 가능" 이 아닌 경우 숫자 0 을 출력합니다. 그렇지 않으면 출력 사전 순서가 가장 작은 작업 시퀀스로, 각 두 작업은 공백으로 구분하고 행 끝에는 공백이 없습니다.
샘플 입력 및 출력 1
쌍스택. 쌍스택. 밖으로
사
1 3 2 4 a b a b a b a b a b
샘플 2 입력 및 출력
쌍스택. 쌍스택. 밖으로
사
2 3 4 1 0
샘플 입력 및 출력 3
쌍스택. 쌍스택. 밖으로
셋;삼;3
2 31a c a b d
제한
데이터의 30% 가 일치: n
데이터의 50% 가 일치: n
100% 데이터 일치: n