#include #include #include // Yukicoder №305 鍵(2) // https://yukicoder.me/problems/no/305 // *********************** // for debug #define DEBUG #define NOP do{}while(0) #ifdef DEBUG #define TRACE(...) do{printf(__VA_ARGS__);fflush(stdout);}while(0) #define TRACECR do{printf("\n");fflush(stdout);}while(0) #else #define TRACE(...) NOP #define TRACECR NOP #endif extern int getchar_unlocked(void); extern int putchar_unlocked(int); #define gc(d) (d)=getchar_unlocked() #define pc(d) putchar_unlocked(d) #define PRINCR pc('\n') #define PRIN(s) do{char *p=s;while(*p)pc(*p++);PRINCR;fflush(stdout);}while(0); #define NOCR(strig) do{char *p;p=strchr(strig,'\n');if(p)*p='\0';}while(0) // The out-of-date function #define asctime(...) asctime_s(...) #define ctime(...) ctime_s(...) #define strlen(a) mystr_len(a) // for stdio #define GETLINE(str) do{char *p;fgets(str,sizeof(str),stdin);p=strchr(str,'\n');if(p)*p='\0';}while(0) #define REP(a,b) for(int a=0;a<(int)(b);++a) #define lolong long long #define INPBUF (250+2) static char *GETWORD(char* str) {char c;char *cp;cp=&str[0];c=fgetc(stdin);while( c != EOF ){if((c==' ')||( c=='\n')) break;*cp++=c;c=fgetc(stdin);}*cp='\0';return &str[0];} static int GETWORDINT(void) {char s[34];GETWORD(s);return atoi(s);} static int GETLINEINT(void) {char s[34];GETLINE(s);return atoi(s);} // *********************** // *********************** // 外部変数 // *********************** int main() { char str[] = { "0123456789" }; int i; int mae,ima; PRIN(str); ima = mae = GETLINEINT(); if( mae == 10 ) return 0; while(1) { for( i=0; i < 10; i++ ) { while( mae == ima ) { str[i] = ((str[i] - '0') + 1 ) % 10 + '0'; PRIN(str); ima = GETLINEINT(); if( ima == 10 ) return 0; } if( mae > ima ) { str[i] = ((str[i] - '0') + 9 ) % 10 + '0'; } mae = ima; } } }