UVA 11988 - Broken Keyboard (a.k.a. Beiju Text)
2013-08-05 21:51
302 查看
看题传送门
Home键:光标移动到最前面,end移动到最后面。
用链表模拟过程就可以了。。。。。
用getchar会比scanf("%c“,&x)快
就不管内存泄露的问题啦~~嘻嘻
第一次看见陈锋的代码。好奇的交上去,被完虐。
我的0.426S他的0.099S
T T哭
陈锋的:
Home键:光标移动到最前面,end移动到最后面。
用链表模拟过程就可以了。。。。。
用getchar会比scanf("%c“,&x)快
就不管内存泄露的问题啦~~嘻嘻
第一次看见陈锋的代码。好奇的交上去,被完虐。
我的0.426S他的0.099S
T T哭
#include<cstdio> struct link { link *next; char data; }; int main() { char temp; while(temp=getchar(),temp!=EOF) { link *head,*last,*p,*cur; last=head=new link; head->next=NULL; cur=last; while(temp!='\n') { if(temp=='[') { cur=head ; } else if(temp==']') { cur=last; } else { p=new link; p->data=temp; p->next=cur->next; cur->next=p; cur=cur->next; if(last->next!=NULL) last=cur; } temp=getchar(); } p=head->next; while(p!=NULL) { printf("%c",p->data); p=p->next; } printf("\n"); } }
陈锋的:
#include <cstring> #include <iostream> #include <cstdio> #include <cassert> #include <vector> using namespace std; struct ListNode { char c; ListNode* next; }; ListNode MEM[100000 + 10], *mem_next, *head, *tail, *insPos; int main() { while(true) { char c; mem_next = MEM + 1; head = MEM; head -> next = NULL; tail = head; insPos = tail; while(true) { c = getchar(); if(c == '\n') break; if(c == EOF) return 0; if(c == '[') insPos = head; else if(c == ']') insPos = tail; else { ListNode* newNode = mem_next++; newNode->c = c; newNode->next = insPos->next; insPos->next = newNode; insPos = newNode; if(tail->next != NULL) tail = insPos; } } ListNode* cur = head->next; while(cur != NULL) { putchar(cur->c); cur=cur->next; } puts(""); } return 0; }
相关文章推荐
- UVa-11988-Broken Keyboard (a.k.a. Beiju Text)
- UVA - 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)
- uva 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 - Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 - Broken Keyboard (a.k.a. Beiju Text)
- UVa 11988 (数组模拟链表) Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 - Broken Keyboard (a.k.a. Beiju Text)
- UVa 11988 - Broken Keyboard (a.k.a. Beiju Text) ( 模拟链表 )
- UVA-11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA - 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVa11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA - 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)
- 【例题 6-4 UVA - 11988】Broken Keyboard (a.k.a. Beiju Text)
- UVA - 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVa11988 Broken Keyboard (a.k.a. Beiju Text)
- uva 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA 11988 Broken Keyboard (a.k.a. Beiju Text)
- UVA - 11988 Broken Keyboard (a.k.a. Beiju Text)