블 루 브리지 컵 역대. - 이상 한 수열.
4259 단어 블 루 브리지 컵
아직 알고리즘 을 복습 하지 않 으 면 국 대 회 는 무릎 을 꿇 을 것 이다.
:
X , , :
13
1113
3113
132113
1113122113
....
YY , :
, “ ”
2 , 1 , :1 1,1 3, :1113
3 , :3 1,1 3, :3113
, , 。
:
, 100
, n, ,n 20
, 。
:
:
5
7
:
13211321322115
:
( ) < 512M
CPU < 1000ms
, :“ ...” 。
, , 。
: package 。 jdk1.7 。
: :Main, 。
이것 은 국전 네 번 째 문제, 즉 큰 문 제 를 만 드 는 첫 번 째 문제 로 그리 어렵 지 않다.물 건 너 기:
#include
#include
#include
#include
using namespace std;
struct mode {
int sum, p;
};
int N, M, s2[10000];
char s1[10000];
mode getMode(int start) {
mode m1;
int i, sum = 1;
for (i = start; s1[i] == s1[i+1]; i++) {
sum++;
}
m1.sum = sum;
m1.p = i+1;
return m1;
}
int main() {
freopen("in.txt", "r", stdin);
scanf("%d%d", &N, &M);
int k = 0;
sprintf(s1, "%d", N);
while(M--) {
int len = strlen(s1);
k = 0;
for (int i = 0; i < len;) {
int t = s1[i]-'0';
mode m1 = getMode(i);
i = m1.p;
s2[k++] = m1.sum;
s2[k++] = t;
}
memset(s1, 0, sizeof(s1));
for (int i = 0; i < k; i++) s1[i] = s2[i]+'0';
}
for (int j = 0; j < k; j++) printf("%d", s2[j]);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정규 표현 식 (python 3)정규 표현 식 은 문자 조작 에 대한 논리 적 공식 으로 미리 정 의 된 특정한 문자 와 특정한 문자 의 조합 으로 '규칙 문자열' 을 구성 하 는 것 입 니 다. match 는 문자열 의 시작 위치 에서 패턴 과 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.