□Problem
ウェブブラウザのシミュレーションを行え.命令は以下のとおりである.
BACK: 前のページに戻る.
FORWARD: 次のページに進む.
VISIT: 指定されたURLにジャンプ.
QUIT: ブラウザを終了する.
□Solution
閲覧したページをリストに格納しておけばOK.
□Code
- package p1028;
- import java.util.*;
- import java.lang.*;
- import java.math.*;
- import java.io.*;
- import static java.lang.Math.*;
- import static java.util.Arrays.*;
- // AC
- public class Main{
- Scanner sc=new Scanner(System.in);
- final int INF=Integer.MAX_VALUE;
- final double EPS=1e-9;
- void run(){
- LinkedList<String> backward=new LinkedList<String>();
- LinkedList<String> forward=new LinkedList<String>();
- String url="http://www.acm.org/";
- for(;;){
- String[] ss=sc.nextLine().split(" ");
- String s=ss[0];
- if(s.equals("VISIT")){
- backward.addFirst(url);
- forward.clear();
- url=ss[1];
- println(url);
- }else if(s.equals("BACK")){
- if(backward.size()==0)
- println("Ignored");
- else{
- forward.addFirst(url);
- url=backward.removeFirst();
- println(url);
- }
- }else if(s.equals("FORWARD")){
- if(forward.size()==0)
- println("Ignored");
- else{
- backward.addFirst(url);
- url=forward.removeFirst();
- println(url);
- }
- }else if(s.equals("QUIT")){
- break;
- }
- }
- System.out.flush();
- }
- void print(String s){
- System.out.print(s);
- }
- void println(String s){
- System.out.println(s);
- }
- public static void main(String[] args){
- System.setOut(new PrintStream(new BufferedOutputStream(System.out)));
- new Main().run();
- }
- }
0 件のコメント:
コメントを投稿