package eli;
import tool.readfile;
import java.io.File;
import java.io.*;
public class pro {
String[] data=new String[500000];
String[] dic=new String[50000];
String[] code=new String[500000];
String[] code_sta=new String[500000];
String[] sta=new String[500000];
int subnumber,datanumber;
int[] point=new int[500];
String[] week=new String[500000];
String[] title=new String[500000];
int[] y1=new int[5000000];
int[] m1=new int[500000];
int[] y2=new int[5000000];
int[] m2=new int[500000];
int[] h1=new int[5000000];
int[] mx1=new int[500000];
int[] h2=new int[5000000];
int[] mx2=new int[500000];
public static void main(String[] args) {
pro test=new pro();
}
pro(){
readx("data.csv");
int s;
for(s=1;s<datanumber;s++){
String[] x=data[s+1].split(",");
sta[s]="";
week[s]="";
if(x.length>13){
sta[s]=x[2];
title[s]=x[0];
code[s]=x[1];
week[s]=x[3];
y1[s]=num_int(x[4]);
m1[s]=num_int(x[5]);
y2[s]=num_int(x[7]);
m2[s]=num_int(x[8]);
h1[s]=num_int(x[10]);
mx1[s]=num_int(x[11]);
h2[s]=num_int(x[12]);
mx2[s]=num_int(x[13]);
}
}
int sx;
int dicnumber=0;
for(s=1;s<datanumber;s++){
int h=0;
for(sx=1;sx<dicnumber+1;sx++){
if(sta[s].equals(dic[sx]))h=100;
}
if(h<50)dicnumber=dicnumber+1;
if(h<50)dic[dicnumber]=sta[s];
}
System.out.println(dicnumber);
for(s=1;s<datanumber;s++){
int h=0;
for(sx=1;sx<dicnumber+1;sx++){
if(sta[s].equals(dic[sx]))point[sx]=point[sx]+1;
}
}
for(s=1;s<datanumber;s++){
int h=0;
String n=namex(sta[s]);
if(data[s+1].indexOf("連続")>-1)h=h+1;;
if(check(s)<50)h=h+1;
if(n.equals("その他"))h=0;
int m3=hour(s);
if(m3>900)h=0;
if(y2[s]>1979)h=h+1;
if(h==3) System.out.println(title[s]+","+code[s]+","+n+","+week[s]+","+m3+","+y1[s]+","+m1[s]+","+y2[s]+","+m2[s]);
}
}
int hour1(int nx){
int d1=60*(h1[nx]-12)+mx1[nx];
int d2=60*(h2[nx]-12)+mx2[nx];
int de;
double minde=9999999999.9;
int sline=0;
int half=0;
for(de=6;de<13;de++){
double dex=(d1-60*de)*(d1-60*de);
if(dex<minde)sline=de;
if(dex<minde)minde=dex;
}
for(de=6;de<13;de++){
double dex=(d1-60*de-30)*(d1-60*de-30);
if(dex<minde)half=100;
if(dex<minde)sline=de;
if(dex<minde)minde=dex;
}
int j=0;
if(sline==7)j=j+1;
if(half>60)j=j+1;
if(j==2)sline=71;
return sline;
}
int hour(int nx){
int cx=9999;
int z=0;
if(hour1(nx)==7)z=z+1;
if(hour2(nx)==71)z=z+1;
if(z==2)cx=71;
z=0;
if(hour1(nx)==71)z=z+1;
if(hour2(nx)==8)z=z+1;
if(z==2)cx=72;
z=0;
if(hour1(nx)==8)z=z+1;
if(hour2(nx)==9)z=z+1;
if(z==2)cx=8;
z=0;
if(hour1(nx)==9)z=z+1;
if(hour2(nx)==10)z=z+1;
if(z==2)cx=9;
z=0;
if(hour1(nx)==10)z=z+1;
if(hour2(nx)==10)z=z+1;
if(z==2)cx=10;
z=0;
if(hour1(nx)==7)z=z+1;
if(hour2(nx)==8)z=z+1;
if(z==2)cx=7;
return cx;
}
int hour2(int nx){
int d1=60*(h1[nx]-12)+mx1[nx];
int d2=60*(h2[nx]-12)+mx2[nx];
int de;
double minde=9999999999.9;
int sline=0;
int half=0;
for(de=6;de<13;de++){
double dex=(d2-60*de)*(d2-60*de);
if(dex<minde)sline=de;
if(dex<minde)minde=dex;
}
for(de=6;de<13;de++){
double dex=(d2-60*de-30)*(d2-60*de-30);
if(dex<minde)half=100;
if(dex<minde)sline=de;
if(dex<minde)minde=dex;
}
int j=0;
if(sline==7)j=j+1;
if(half>60)j=j+1;
if(j==2)sline=71;
return sline;
}
int check(int nx){
int ch=0;
int h=0;
if(y1[nx]==y2[nx])h=h+1;
if(m1[nx]==m2[nx])h=h+1;
if(h==2)ch=100;
return ch;
}
int num_int(String str){
int nx;
nx=0;
try{
nx=Integer.parseInt(str);
}catch (Exception e) {}
return nx;
}
String namex(String pp){
String z="その他";
if(pp.equals("NTV"))z="日本";
if(pp.equals("NHK"))z="nhk";
if(pp.equals("TBS"))z="tbs";
if(pp.equals("NET"))z="朝日";
if(pp.equals("CX"))z="フジ";
if(pp.equals("KTV"))z="フジ";
if(pp.equals("ABC"))z="朝日";
if(pp.equals("MBS"))z="tbs";
if(pp.equals("NHK GTV"))z="nhk";
if(pp.equals("YTV"))z="日本";
if(pp.equals("TX"))z="東京";
if(pp.equals("12CH"))z="東京";
if(pp.equals("EX"))z="朝日";
if(pp.equals("ANB"))z="朝日";
return z;
}
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;
}
}
最終更新:2017年07月21日 05:07