package asa;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class pro {
int s,datanumber;
String[] data=new String[160000];
String[] city=new String[24000];
String[] dic=new String[24000];
int[] point=new int[24000];
int[] rank=new int[24000];
int delta;
public static void main(String[] args) {
pro t=new pro();
}
pro(){
readx("data.csv");
int sx=0;
for(s=2;s<datanumber+1;s++){
String[] x=data[s].split(",");
String pp="";
if(x.length>2)pp=x[2];
if(x[0].indexOf("2013")>-1)sx=sx+1;
if(x[0].indexOf("2013")>-1)city[sx]=pp;
}
int number=sx;
delta=0;
for(s=1;s<number+1;s++){
int h=0;
for(sx=1;sx<delta+1;sx++){
if(city[s].equals(dic[sx]))h=100;
}
if(h<60)delta=delta+1;
if(h<60)dic[delta]=city[s];
}
for(s=1;s<number+1;s++){
for(sx=1;sx<delta+1;sx++){
if(city[s].equals(dic[sx]))point[sx]=point[sx]+1;
}
}
ranking();
for(s=1;s<51;s++){
sx=rank[s];
System.out.println(dic[sx]);
}
}
void ranking(){
int r,s,sx,h;
int[] ch=new int[6001];
double maxu;
for(r=1;r<delta+1;r++){
sx=0;
maxu=-999999;
for(s=1;s<delta+1;s++){
h=0;
if(point[s]>maxu)h=h+1;
if(ch[s]<50)h=h+1;
if(h==2)maxu=point[s];
if(h==2)sx=s;
}
rank[r]=sx;
ch[sx]=100;
}
}
void readx(String file){
String str;
BufferedReader br;
int s;
s=0;
try {
br = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8"));
while((str = br.readLine()) != null) {
s=s+1;
data[s]=str;
}
br.close();
} catch (IOException e) {System.out.println(e);}
datanumber=s;
}
}
最終更新:2016年08月19日 13:00