1 条题解
-
0
C++ :
#include <iostream> #include <cstdio> #include <cstring> using namespace std; char s[105]; bool k;//判断是不是"" int tuples_run(int a); int list_run(int a); int run(int a); int char_run(int a); int tuples_run(int a) { int t; printf("tuples("); t=run(a); printf(")"); return t; } int list_run(int a) { int t; printf("list("); t=run(a); printf(")"); return t; } int char_run(int a) { int t; printf("list("); t=run(a); printf(")"); return t; } int run(int a) { int len = strlen(s); int sum; int i; sum=0; for(i=a;i<len;) { if(s[i]=='[') i=list_run(i+1); else if(s[i]=='{') i=tuples_run(i+1); else if(s[i] ==']' || s[i] == '}') { return i+1; } else if(s[i]=='"'&& k==false) { k=true; i = char_run(i+1); } else if(s[i]==',') { i++; printf(","); } else if(k==false) { if(s[i]>='0' &&s[i] <= '9') { while(s[i]!=',' && s[i] != '.' && s[i] != ']' && s[i]!='}' &&i < len) i++; if(s[i]=='.') { while(s[i]!=',' && s[i] != ']' && s[i]!='}' &&i < len)i++; printf("float"); if(s[i]==',') { i++; printf(","); } } else { printf("integer"); if(s[i]==',') { i++; printf(","); } } } else { printf("atoms"); while(s[i]!=','&& s[i]!=']' && s[i]!='}' && i<len) i++; if(s[i]==',') { i++; printf(","); } } } else { if(s[i]!='"') { i++; printf("integer"); } while(s[i]!='"') { i++; printf(",integer"); } k=false; return i+1; } } } int main() { while(gets(s)) { run(0); printf("\n"); } return 0; }
- 1
信息
- ID
- 2386
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者