简单题。模拟浏览器打开网页的前进后退顺序。
这道题的题目有诱使使用两个stack的嫌疑,但其实只用字符串数组和两个游动下标就足够了
C++ 00:00.01 400K
//1061
//C++ 00:00.01 400K
#include<stdio.h>
#include<string.h>
char log[102][72];
int lognum,cur;
int main()
{
// freopen("1061.txt","r",stdin);
int k,nn;
strcpy(log[1],"http://www.acm.org/");
scanf("%d", &nn);
for(k=1;k<=nn;k++)
{
char com[10];
lognum = 1;
cur=1;
while(scanf("%s", com)!=EOF && com[0]!='Q')
{
if('V'==com[0])
{
cur++;
lognum=cur;
scanf("%s", log[lognum]);
printf("%s/n", log[cur]);
}
else if('B'==com[0])
{
if(1==cur)
printf("Ignored/n");
else
{
cur--;
printf("%s/n", log[cur]);
}
}
else// if('F'==com[0])
{
if(lognum==cur)
printf("Ignored/n");
else
{
cur++;
printf("%s/n", log[cur]);
}
}
}
if(k!=nn) printf("/n");
}
// fclose(stdin);
return 0;
}
//C++ 00:00.01 400K
#include<stdio.h>
#include<string.h>
char log[102][72];
int lognum,cur;
int main()
{
// freopen("1061.txt","r",stdin);
int k,nn;
strcpy(log[1],"http://www.acm.org/");
scanf("%d", &nn);
for(k=1;k<=nn;k++)
{
char com[10];
lognum = 1;
cur=1;
while(scanf("%s", com)!=EOF && com[0]!='Q')
{
if('V'==com[0])
{
cur++;
lognum=cur;
scanf("%s", log[lognum]);
printf("%s/n", log[cur]);
}
else if('B'==com[0])
{
if(1==cur)
printf("Ignored/n");
else
{
cur--;
printf("%s/n", log[cur]);
}
}
else// if('F'==com[0])
{
if(lognum==cur)
printf("Ignored/n");
else
{
cur++;
printf("%s/n", log[cur]);
}
}
}
if(k!=nn) printf("/n");
}
// fclose(stdin);
return 0;
}