import java.io.*;
class game{
int rank[]=new int[5000];
String[] data=new String[50000];
String[][] pos=new String[100][1000];
String[][] reading=new String[100][1000];
String[][] surface=new String[100][1000];
String[] dic=new String[5000];
int[] dnumber=new int[5000];
int[] wn=new int[100];
int s,datanumber,wordnumber;
String a1,a2,a3,a4,a5;
int m,n,nx,sx;
int h;
int dicnumber;
public static void main(String [] args) {
game test=new game();
}
game(){
makefile();
System.out.println(datanumber);
for(s=1;s<datanumber+1;s++){
makedata(data[s]);
m=Integer.parseInt(a1);
n=Integer.parseInt(a2);
surface[m][n]=a3;
reading[m][n]=a4;
pos[m][n]=a5;
}
for(m=1;m<50;m++){
h=0;
n=1;
nx=0;
if(surface[m][n]==null)h=100;
while(h<50){
n=n+1;
if(surface[m][n]==null)h=100;
if(h<50)nx=n;
}
wn[m]=nx;
}
dicnumber=1;
dic[1]=surface[2][1];
for(m=2;m<50;m++){
wordnumber=wn[m];
for(n=1;n<wordnumber+1;n++){
h=0;
for(sx=1;sx<dicnumber+1;sx++){
if(surface[m][n].equals(dic[sx]))h=100;
}
if(h<50)dicnumber=dicnumber+1;
if(h<50)dic[dicnumber]=surface[m][n];
}
}
for(sx=1;sx<dicnumber+1;sx++){
dnumber[sx]=0;
}
for(m=2;m<50;m++){
wordnumber=wn[m];
for(n=1;n<wordnumber+1;n++){
for(sx=1;sx<dicnumber+1;sx++){
if(surface[m][n].equals(dic[sx]))dnumber[sx]=dnumber[sx]+1;
}
}
}
ranking();
for(n=1;n<200;n++){
sx=rank[n];
System.out.print(sx);
System.out.print(",");
System.out.print(dnumber[sx]);
System.out.print(",");
System.out.println(dic[sx]);
}
}
void ranking(){
int maxd,maxp,dxs,nx,h;
dxs=0;
maxd=-999;
for(s=1;n<dicnumber+1;n++){
if(dnumber[n]>maxd)dxs=n;
if(dnumber[n]>maxd)maxd=dnumber[n];
}
rank[1]=dxs;
nx=1;
for(n=1;n<dicnumber+1;n++){
h=0;
if(dnumber[n]==maxd)h=100;
if(n==dxs)h=0;
if(h>50)nx=nx+1;
if(h>50)rank[nx]=n;
}
maxp=maxd;
while(maxp>1){
dxs=0;
maxd=-999;
for(n=1;n<dicnumber+1;n++){
h=0;
if(dnumber[n]>maxd)h=h+1;
if(dnumber[n]<maxp)h=h+1;
if(h==2)dxs=n;
if(h==2)maxd=dnumber[n];
}
nx=nx+1;
rank[nx]=dxs;
for(n=1;n<dicnumber+1;n++){
h=0;
if(dnumber[n]==maxd)h=100;
if(n==dxs)h=0;
if(h>50)nx=nx+1;
if(h>50)rank[nx]=n;
}
maxp=maxd;
}
}
void makedata(String str){
int p1,p2,p3,p4,p5,p6,p7,p8,p9,p10;
p1=str.indexOf("<");
p2=str.indexOf(">",p1);
p3=str.indexOf("<",p2);
p4=str.indexOf(">",p3);
p5=str.indexOf("<",p4);
p6=str.indexOf(">",p5);
p7=str.indexOf("<",p6);
p8=str.indexOf(">",p7);
p9=str.indexOf("<",p8);
p10=str.indexOf(">",p9);
if(p2>p1)a1=str.substring(p1+1,p2);
if(p4>p3)a2=str.substring(p3+1,p4);
if(p6>p5)a3=str.substring(p5+1,p6);
if(p8>p7)a4=str.substring(p7+1,p8);
if(p10>p9)a5=str.substring(p9+1,p10);
}
void makefile(){
String str;
s=0;
try{
BufferedReader br =new BufferedReader(new FileReader("data.txt"));
while((str = br.readLine()) != null) {
s=s+1;
data[s]=str;
}
br.close();
}
catch(IOException e){ System.out.println("入出力エラーです。");}
datanumber=s;
}
}
最終更新:2011年04月20日 19:24