Submission #175237
Source Code Expand
#include <algorithm> #include <functional> #include <iostream> using namespace std; int main() { // スペース区切りの整数の入力 int N,K; cin >> N >> K; //文字列入力 string S; cin >> S; //char 変換 const char *cseikai = S.c_str(); const char *c = S.c_str(); string ans; // K = 0 if(K == 0){ ans = string(cseikai); cout << ans << endl; return 0; } int i,j,k,l; int n; char tmp; int karik; int karij; bool exist; int nai; for(i = 0;i<N-1;i++){ //ソートじゃ for(j = i;j<N;j++){ for(k=j;k<N;k++){ if(c[j] > c[k]){ tmp = c[j]: c[j] = c[k]; c[k] = tmp; } } karij = i; while(1){ karik = K; //先頭に持ってきて交換 tmp = c[i]; c[i] = c[karij]; c[karij] = tmp; for(k = 0;k<i;k++){ //一致数ぶんだけ減らす if(cseikai[k] == c[k]){ karik -= 1; } } //残ってる数で不正解数がK以下か nai = 0; for(k = i+1;k<N;k++){ exist = false; for(l = i+1;l<N;l++){ if(c[k] == cseikai[l]) exist = true; } if(exist == false){ //ないならダメ nai++; } } //これで、先頭以下のない数が出てくる //ない数がK-1より多いだったらつくれへん if(nai > K){ //やりなおし karij++; } else{ break; } } } string out; out = c; // 出力 cout << out << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - 辞書式順序ふたたび |
User | hirahira |
Language | C++ (G++ 4.6.4) |
Score | 0 |
Code Size | 1502 Byte |
Status | CE |
Compile Error
./Main.cpp: In function ‘int main()’: ./Main.cpp:39:15: error: expected ‘;’ before ‘:’ token ./Main.cpp:41:12: error: assignment of read-only location ‘*(c + ((long unsigned int)((long unsigned int)k)))’ ./Main.cpp:51:18: error: assignment of read-only location ‘*(c + ((long unsigned int)((long unsigned int)i)))’ ./Main.cpp:52:15: error: assignment of read-only location ‘*(c + ((long unsigned int)((long unsigned int)karij)))’ ./Main.cpp:88:1: error: expected ‘}’ at end of input