package blog;
import tool.*;
public class pro {
int s,datanumber;
String[] data=new String[5000];
String[][] subdata=new String[5000][10];
String[] actor=new String[50000];
String[] title=new String[5000];
String[] rate=new String[5000];
int number;
int[] op=new int[600];
public static void main(String[] args) {
pro te=new pro();
}
pro(){
String str1="%20";
String id="1NeQ_P0LIE2U9kEvu7Eowwja41IVKG3xLL-0y1pqs";
t5 sub=new t5();
sub.makedata(id);
rate=sub.title;
datanumber=sub.number;
System.out.println(datanumber);
id="1meAzxjLbRYlLiCDn40UhheDlOQC6DyFPsT5UweXj";
actor sub2=new actor();
sub2.makedata(id);
title=sub2.title;
number=sub2.number;
actor=sub2.actor;
int dicnumber=0;
int sx,h;
String[] dic=new String[6000];
for(s=1;s<number+1;s++){
h=0;
for(sx=1;sx<dicnumber+1;sx++){
if(title[s].equals(dic[sx]))h=100;
}
if(h<50)dicnumber=dicnumber+1;
if(h<50)dic[dicnumber]=title[s];
}
System.out.println(dicnumber);
optimal sub3=new optimal();
sub3.datanumber=datanumber;
sub3.number=dicnumber;
sub3.rate=rate;
sub3.title=dic;
sub3.makedata();
op=sub3.op;
for(s=1;s<datanumber+1;s++){
int n=op[s];
for(sx=1;sx<number+1;sx++){
if(dic[n].equals(title[sx]));
}
System.out.println(s+","+rate[s]+","+dic[n]);
}
}}
package blog;
import tool.*;
public class actor{
int s,datanumber;
String[] data=new String[5000];
String[][] subdata=new String[50000][10];
String[] title=new String[50000];
int number;
String[] actor=new String[50000];
void makedata(String id){
String str1="%20";
String urlx="https://www.googleapis.com/fusiontables/v1/query?sql=SELECT";
urlx=urlx+str1+"*"+str1+"FROM"+str1+id+str1;
urlx=urlx+"&key=AIzaSyAH0WCAXRIdHdbI-6bnMSN4kVDDZZmGyqY";
getdata sub=new getdata();
sub.makedata(urlx,"UTF-8");
data=sub.data;
datanumber=sub.datanumber;
String str="";
for(s=1;s<datanumber+1;s++){
str=str+data[s];
}
String[] x=str.split("],");
int sx=0;
for(s=1;s<x.length;s++){
x[s]=x[s].replace("[","");
String[] y=x[s].split(",");
for(sx=0;sx<y.length;sx++){
y[sx]=y[sx].replace("\"","");
y[sx]=y[sx].replace(" ","");
y[sx]=y[sx].replace("]]}","");
y[sx]=y[sx].replace("rows:","");
subdata[s][sx+1]=y[sx];
}
}
number=x.length-1;
for(s=1;s<number+1;s++){
title[s]=subdata[s][2];
actor[s]=subdata[s][3];
}
}}
package blog;
import tool.*;
public class t5 {
int s,datanumber;
String[] data=new String[5000];
String[][] subdata=new String[5000][10];
String[] title=new String[5000];
int number;
void makedata(String id){
String str1="%20";
String urlx="https://www.googleapis.com/fusiontables/v1/query?sql=SELECT";
urlx=urlx+str1+"*"+str1+"FROM"+str1+id+str1;
urlx=urlx+"&key=AIzaSyAH0WCAXRIdHdbI-6bnMSN4kVDDZZmGyqY";
getdata sub=new getdata();
sub.makedata(urlx,"UTF-8");
data=sub.data;
datanumber=sub.datanumber;
String str="";
for(s=1;s<datanumber+1;s++){
str=str+data[s];
}
String[] x=str.split("],");
int sx=0;
for(s=1;s<x.length;s++){
x[s]=x[s].replace("[","");
String[] y=x[s].split(",");
for(sx=0;sx<y.length;sx++){
y[sx]=y[sx].replace("\"","");
y[sx]=y[sx].replace(" ","");
y[sx]=y[sx].replace("]]}","");
y[sx]=y[sx].replace("rows:","");
subdata[s][sx+1]=y[sx];
}
}
number=x.length-1;
for(s=1;s<number+1;s++){
title[s]=subdata[s][3];
}
}}
package blog;
public class optimal {
String[] title=new String[5000];
String[] rate=new String[5000];
int s,sx;
int datanumber;
int number;
int[][] point=new int[100][210];
int[][] v=new int[100][210];
int[] op=new int[210];
int[][] gotox=new int[100][210];
void makedata(){
for(s=1;s<datanumber+1;s++){
for(sx=1;sx<number+1;sx++){
point[s][sx]=f(rate[s],title[sx]);
}
}
for(s=1;s<number+1;s++){
v[1][s]=point[1][s];
}
int n;
for(s=2;s<datanumber+1;s++){
for(n=1;n<number+1;n++){
int maxp=-999;
int p1=point[s][n];
int c1=0;
for(sx=1;sx<n;sx++){
int v1=p1+v[s-1][sx];
if(v1>maxp)c1=sx;
if(v1>maxp)maxp=v1;
}
v[s][n]=maxp;
gotox[s][n]=c1;
}
}
int maxp=0;
sx=0;
for(s=1;s<number+1;s++){
if(v[datanumber][s]>maxp)sx=s;
if(v[datanumber][s]>maxp)maxp=v[datanumber][s];
}
int tr=datanumber;
op[tr]=sx;
for(s=1;s<datanumber;s++){
sx=op[tr];
op[tr-1]=gotox[tr][sx];
tr=tr-1;
}
}
int f(String w1,String w2){
int s;
int n1=w1.length();
int n2=w2.length();
String[] x1=new String[500];
String[] x2=new String[500];
for(s=0;s<n1;s++){
x1[s+1]=w1.substring(s,s+1);
}
for(s=0;s<n2;s++){
x2[s+1]=w2.substring(s,s+1);
}
int sx,h;
int p1=0;
for(s=1;s<n1+1;s++){
h=0;
for(sx=1;sx<n2+1;sx++){
if(x1[s].equals(x2[sx]))h=100;
}
if(h>50)p1=p1+1;
}
return 100*p1/n1;
}
}
最終更新:2016年03月18日 11:45