- import java.util.*;
- import java.lang.*;
- import java.math.*;
- import static java.lang.Math.*;
- import static java.util.Arrays.*;
- public class RouteIntersection {
- public String isValid(int N, int[] coords, String moves) {
- TreeSet<Integer> set=new TreeSet<Integer>();
- int len=coords.length;
- for(int a:coords)
- set.add(a);
- int n=set.size();
- HashMap<Integer,Integer> map=new HashMap<Integer,Integer>();
- Iterator<Integer> it=set.iterator();
- for(int i=0;i<n;i++)
- map.put(it.next(),i);
- LinkedList<int[]> list=new LinkedList<int[]>();
- int[] p=new int[n];
- list.add(p);
- for(int i=0;i<len;i++){
- int[] q=new int[n];
- System.arraycopy(p,0,q,0,n);
- if(moves.charAt(i)=='+')
- q[map.get(coords[i])]++;
- else
- q[map.get(coords[i])]--;
- for(int[] a:list)
- if(Arrays.equals(a,q))
- return "NOT VALID";
- list.add(q);
- p=q;
- }
- return "VALID";
- }
- }
- // Powered by FileEdit
- // Powered by TZTester 1.01 [25-Feb-2003]
- // Powered by CodeProcessor
API使いまくり.
0 件のコメント:
コメントを投稿