Register
|
Login
Home
News
Competitions
Practice
How to
Rankings
Calendar
Arena
CodeFu 2007
CodeFu'07 Highlights
Jazoon'07 Highlights
Schedule
Rules
Prizes
Results
Competitions
»
Main CodeFu Competitons
»
CodeFu 2007
»
Results
CodeFu 2007 Results
CodeFu Final Round Results
nikuco's solution for 500: NewsFlow, written in Java
import java.util.*; public class NewsFlow { int[] nivo; int[] sorta; int[] vreme; boolean vrska[][]; int dolz; List<List> nivoa = new LinkedList<List>(); private void init(String[] a) { dolz = a.length; vrska = new boolean[dolz][dolz]; nivo = new int[dolz]; sorta = new int[dolz]; vreme = new int[dolz]; Arrays.fill(nivo, -1); Arrays.fill(sorta, -1); Arrays.fill(vreme, 0); for (int i=0; i<dolz; i++) { String koi = a[i].toUpperCase(); for (int j=0; j<dolz; j++) { vrska[i][j] = koi.charAt(j)=='Y'; if (vrska[i][j]) System.out.println(i+"->"+j); } } } private void sort(int teme) { List<Integer> pred = new LinkedList<Integer>(); List<Integer> potoa = new LinkedList<Integer>(); pred.add(teme); int ni = 0; int ind = 0; while (pred.size()!=0) { List<Integer> nivoto = new LinkedList<Integer>(); nivoto.addAll(pred); nivoa.add(nivoto); for (int k : pred) { nivo[k] = ni; sorta[ind++] = k; for (int j=0; j<dolz; j++) { if (vrska[k][j] && nivo[j]==-1) potoa.add(j); } } ni++; pred.clear(); pred.addAll(potoa); potoa.clear(); } } private void cekor(List<Integer> nivoto, List<Integer> nad) { for (int teme : nivoto) { } } private void resi() { for (int i=nivoa.size()-1; i>0; i--) { cekor(nivoa.get(i), nivoa.get(i-1)); } } public int minutes(String[] willing) { init(willing); sort(0); resi(); return nivoa.size()-1; } }