1 条题解
-
0
C :
#include<stdio.h> #include<string.h> int main() { int i, j, p, t, n, max, l; char s[103]; scanf("%d", &t); while(t--) { scanf("%s%d", s, &n); l = strlen(s); for(i=p=0; i<l-n; i++) { max = -1000; for(j=p; j<=n+i; j++) { if(s[j]-'0' > max) { max = s[j]-'0'; p = j+1; } } printf("%d", max); } puts(""); } return 0; }
C++ :
#include <cstdio> #include <cstring> #include <cmath> using namespace std ; char str[1000] ; int f( int a , int b ) { char max = 0 ; int p = -1 ; for( int i = a ; i <= b ; i ++ ) { if( max < str[i] ) { max = str[i] ; p = i ; } } printf("%c" , max ) ; return p + 1 ; } int main() { int T ; scanf("%d" , &T ) ; while( T -- ) { int k ; scanf("%s%d" , str , &k ) ; int len = strlen( str ) ; int begin = 0 , end = k ; k = len - k ; for( int i = 0 ; i < k ; i ++ ) { begin = f( begin , end ) + 1 ; end += 1 ; } printf("\n") ; } return 0 ; }
- 1
信息
- ID
- 697
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者