Monthly Archives: February 2013

Poj Solution 2414

http://poj.org/problem?id=2414 #include"stdio.h" #include"string.h" int best[1024][26]; int min[1024]; char m[1024][1001]; char answer[1001]; int n,l; bool init() { int i; scanf("%d %d",&n,&l); if(n==0&&l==0) return 0; for(i=0;i<n;i++) scanf("%s",m[i]); return 1; } inline int min_int(int a,int b) { return a<b?a:b; } void doit(int k) … Continue reading

Posted in poj | Comments Off on Poj Solution 2414

Poj Solution 2413

http://poj.org/problem?id=2413 import java.io.BufferedInputStream; import java.math.BigInteger; import java.util.Scanner; /** * * poj2413 * @author NC */ public class Main { public static void main(String[] args) { Scanner scan = new Scanner(new BufferedInputStream(System.in)); while (scan.hasNext()) { BigInteger a = scan.nextBigInteger(); BigInteger b … Continue reading

Posted in poj | Comments Off on Poj Solution 2413

Poj Solution 2411

http://poj.org/problem?id=2411 import java.util.Scanner; import java.util.Arrays; public class Main{ /* f[i][j]表示第i行,方格排布为二进制数j(第k位上为1表示凸出一个格子,为0表示不凸出) 的方案数。用DFS进行状态转移。*/ static long f[][]=new long[12][2048]; static int n, m; static void dfs(int i, int j, int jj, int s)//j是初始状态,jj是目标状态.s表示列数 { if (s == m)//把i行m列放好 f[i + 1][jj] += f[i][j];//等于I+1行被占去的格子的2进制为JJ应该可以多放f[i][j]的方略 else … Continue reading

Posted in poj | Comments Off on Poj Solution 2411

Poj Solution 2407

http://poj.org/problem?id=2407 import java.util.Scanner; import java.util.Arrays; public class Main { // ���1��n-1��n���ʵ���ĸ���,�������� static int eular(int n) { int ret = 1,i; for (i = 2;i * i <= n;i++) if (n % i == 0) { n /= i; ret *= … Continue reading

Posted in poj | Comments Off on Poj Solution 2407

Poj Solution 2406

http://poj.org/problem?id=2406 #include <cstdio> #include <cstring> #include <algorithm> using namespace std; #define MAXN 1000000 char substr[MAXN + 2]; int sublen; int next[MAXN + 1]; void getNext() { next[1] = 0; int i, j = 0; for (i = 2; i <= … Continue reading

Posted in poj | Comments Off on Poj Solution 2406

Poj Solution 2405

http://poj.org/problem?id=2405 //* @author ������&lt;hongxp11@163.com&gt; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); while(true) { int D = in.nextInt(); int V = in.nextInt(); if(D==0 && V==0) break; //double v1 = (d * … Continue reading

Posted in poj | Comments Off on Poj Solution 2405

Poj Solution 2403

http://poj.org/problem?id=2403 import java.util.*; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); String[] fLine = cin.nextLine().split(" "); int kwNum = Integer.valueOf(fLine[0]).intValue(); int descNum = Integer.valueOf(fLine[1]).intValue(); HashMap hm = new HashMap(); for(int i = 0; … Continue reading

Posted in poj | Comments Off on Poj Solution 2403

Poj Solution 2402

http://poj.org/problem?id=2402 #include<iostream> #include<cmath> using namespace std; //int a[20]={9,9,90,90,900,900,9000,9000,90000,90000,900000,900000,9000000,9000000,90000000};//x位上的回文数个数为f(x)=9*10^((x+1)/2); __int64 b[19]={0,9,18,108,198,1098,1998,10998,19998,109998,199998,1099998,1999998, 10999998,19999998,109999998,199999998,1099999998,1999999998};//前x位上的回文数总个数 int c[10]; int main() { __int64 i,j,n,d,k,l; double temp; while(scanf("%I64d",&i)!=EOF&&i) { for(j=0;;j++) { if(i<=b[j]) break; } //j回文数的位数 n=b[j-1];//1…n-1 数的回文数总数 d=i-n-1; temp=(j+1)/2-1; k=(int)pow(10.0,temp); k+=d; l=k; if(j%2==1) l=k/10; for(j=0;l>0;j++) { c[j]=l%10;//前半部分和后半部分对称 … Continue reading

Posted in poj | Comments Off on Poj Solution 2402

Poj Solution 2400

http://poj.org/problem?id=2400 #include<iostream> #include"string.h" #include"stdio.h" using namespace std; #define valuetype int #define null 0 const int size=20; bool maxmatch(int n,int m,bool w[size][size],int *p,bool *setn,bool *setm) { int p_n[size]; int p_m[size]; bool sign[size]; int q[size],from[size],s,t; int i,j,link,now,h; for(i=0;i<n;i++)p_n[i]=-1; for(j=0;j<m;j++)p_m[j]=-1; for(i=0;i<n;i++) if(p_n[i]==-1) { … Continue reading

Posted in poj | Comments Off on Poj Solution 2400

Poj Solution 2398

http://poj.org/problem?id=2398 /* @author:����acmilan_fan@yahoo.cn */ import java.io.*; import java.util.Map; import java.util.TreeMap; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n, m, y1, y2, i, t; String s; String[] ss; Point p,p2; … Continue reading

Posted in poj | Comments Off on Poj Solution 2398

Poj Solution 2395

http://poj.org/problem?id=2395 /* @author: */ import java.util.Scanner; public class Main{ public static void main(String args[]) { int p[][]=new int[2001][2001]; int n,m,i,j,k; int dis[]=new int[2001]; int u,v,l; int ne[]=new int[2001]; Scanner sc=new Scanner(System.in); n=sc.nextInt(); m=sc.nextInt(); int max=0; for(i=0;i< n;i++) for(j=0;j< n;j++) p[i][j]=1000000001; … Continue reading

Posted in poj | Comments Off on Poj Solution 2395

Poj Solution 2394

http://poj.org/problem?id=2394 //* @author: ccQ.SuperSupper import java.io.*; import java.util.*; import java.math.*; import java.text.*; public class Main { public static int mat[][]=new int[505][505]; public static int d[]=new int[505]; public static void main(String args[]) throws Exception { Scanner cin=new Scanner(System.in); int F,P,C,M; int … Continue reading

Posted in poj | Comments Off on Poj Solution 2394

Poj Solution 2393

http://poj.org/problem?id=2393 import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner cin = new Scanner(System.in); int n = cin.nextInt(); int m = n; int s = cin.nextInt(); Node[] node = new Node[n]; int i = 0; long sum … Continue reading

Posted in poj | Comments Off on Poj Solution 2393