nylgacm_1057_최대 수 찾기 (3)
2982 단어 알고리즘
한 개의 정수 N 을 제시 하고, 매번 인접 한 두 개의 숫자 를 이동 할 수 있 으 며, 최대 K 번 이동 하여 새로운 정 수 를 얻 을 수 있다.
이 새로운 정수 의 최대 치 는 얼마 입 니까?
입력
다 중 테스트 데이터.
각 조 의 테스트 데 이 터 는 한 줄 을 차지 하고 각 줄 에 두 개의 수 N 과 K (1 * 8201; ≤ * 8201; N ≤ * 8201; 10 ^ 18; 0 * 8201; ≤ * 8201; K * 8201; ≤ * 8201; 100) 가 있 습 니 다.
출력
각 그룹의 테스트 데이터 의 출력 은 한 줄 을 차지 하고 출력 이 이동 한 후에 얻 은 새로운 정수 의 최대 치 를 차지한다.
샘플 입력
1990 1
100 0
9090000078001234 6
샘플 출력
9190
100
9907000008001234
: , 。
, :
、 , ;
、 k :
k< , k , k = k - ; 2+k ,k = k - 2~2+k ; , 、 。。。
k> , k ( ) ; 。
for(int i= p; i < p + k; i++)
{
;
}
if( )
{
;
k ;
}
p ;
:#include <stdio.h>
#include <string.h>
int main() {
char s[21],ch[21];
int k;
while(~scanf("%s %d", s, &k))
{
int p1=0, p2=0;
while(k){
if(p1 == strlen(s)) break;
for(int i = p1; i <=p1+ k && i<strlen(s); i++)
{
if(s[i]>s[p2])
p2 = i;
}
if(p2 > p1)
{
k = k-(p2 - p1);
char c;
for (int j = p2;j > p1;j--)
{
c = s[j];
s[j] = s[j-1];
s[j-1] = c;
}
}
p1++;
p2 = p1;
}
puts(s);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【Codility Lesson3】FrogJmpA small frog wants to get to the other side of the road. The frog is currently located at position X and wants to get to...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.