Monthly Archives: December 2013

Poj Solution 2603

http://poj.org/problem?id=2603 #include<stdio.h> #include<stdlib.h> #include<string.h> int main() { int x,i,n=10;int a[10002];a[1]=0;memset(a,0,sizeof(a)); while(n–) { scanf("%d",&x); for(i=2;x!=1;i++) { while(x%i==0&&x!=1) { a[i]++;x/=i; } if(x==1) break; } } x=1; for(i=2;i<10000;i++) { if(a[i]!=0) { x=x*(1+a[i])%10; } } printf("%dn",x); return 0; }

Posted in poj | Comments Off on Poj Solution 2603

Poj Solution 2602

http://poj.org/problem?id=2602 import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedInputStream read = new BufferedInputStream(System.in); byte[] b = new byte[5000007]; read.read(b); String s = ""; int index = … Continue reading

Posted in poj | Comments Off on Poj Solution 2602

Poj Solution 2601

http://poj.org/problem?id=2601 //* @author: 82638882@163.com import java.util.Scanner; class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int n=in.nextInt(); double a0=in.nextDouble(); double an=in.nextDouble(); double total=n*a0+an; double sum=0; int u=n; for(int i=0;i< n;i++,u–) sum+=in.nextDouble()*u; double ans=(total-sum*2)/(n+1); System.out.printf("%.2f",ans); } }

Posted in poj | Comments Off on Poj Solution 2601

Poj Solution 2600

http://poj.org/problem?id=2600 #include <stdio.h> #include <math.h> const double eps = 1e-4; const double pi = acos(-1.0); struct TPoint { double x, y; }p[60], a[60]; double angle[60]; double multi(TPoint p1, TPoint p2, TPoint p0) { return (p1.x – p0.x) * (p2.y – … Continue reading

Posted in poj | Comments Off on Poj Solution 2600

Poj Solution 2599

http://poj.org/problem?id=2599 #include <iostream> #include <cstring> using namespace std; int N,K; bool map[1010][1010]; bool visited[1010]; bool dfs(int n,int step) { bool z = false; visited[n] = true; bool HasPath = false; for(int i = 1;i <= N;i++) { if(!visited[i] && map[n][i]) … Continue reading

Posted in poj | Comments Off on Poj Solution 2599

Poj Solution 2595

http://poj.org/problem?id=2595 #include <stdio.h> #include <math.h> #include <vector> #include <algorithm> using namespace std; ///////////////////////// #define Type double /*�������*/ ///////////////////////// struct point {Type x,y; point(){x=y=0;} point(Type &x,Type &y):x(x),y(y){;} bool operator==(point &a){return x==a.x&&y==a.y;} }; struct line {point a,b; line(){;} line(point &x,point &y):a(x),b(y) {;} … Continue reading

Posted in poj | Comments Off on Poj Solution 2595

Poj Solution 2594

http://poj.org/problem?id=2594 #include <stdio.h> #include <memory.h> #include <vector> using namespace std; #define null 0 const int size=510; bool w[size][size]; int maxmatch(int n,int m,bool w[][size],int *p) { 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 2594

Poj Solution 2593

http://poj.org/problem?id=2593 //* @author import java.util.Scanner; public class Main{ public static void main(String args[]){ int data[]=new int[100000]; int dp[]=new int[100000]; int n; Scanner in=new Scanner(System.in); while((n=in.nextInt())!=0){ int sum = 0, tmp = -999999999; for(int i = 0; i < n; i++){ … Continue reading

Posted in poj | Comments Off on Poj Solution 2593

Poj Solution 2591

http://poj.org/problem?id=2591 //* @author: 82638882@163.com import java.util.*; public class Main { public static void main(String[] args) { TreeSet< Long> t=new TreeSet< Long>(); Scanner in=new Scanner(System.in); int[] arr=new int[10000001]; arr[0]=1; int k1=0,k2=0; for(int i=1;i< 10000001;i++) { int y1=arr[k1]*2+1; int y2=arr[k2]*3+1; arr[i]=Math.min(y1, y2); … Continue reading

Posted in poj | Comments Off on Poj Solution 2591

Poj Solution 2590

http://poj.org/problem?id=2590 //* @author: 82638882@163.com import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in); int a=in.nextInt(); for(int i=0;i< a;i++) { long x=in.nextLong(); x=in.nextLong()-x; long b=(long)Math.sqrt(x); long ans=-1; if(b==0) ans=0; else if(b*b==x)ans=2*b-1; else if(x<=b*b+b)ans=2*b; else ans=2*b+1; … Continue reading

Posted in poj | Comments Off on Poj Solution 2590

Poj Solution 2589

http://poj.org/problem?id=2589 #include<iostream> #include"string.h" #include"stdlib.h" using namespace std; int main() { char a[110],b[110],ar[110],br[110]; int n1,r1,n2,r2,k=0,i,g1,g2,r; cin>>a>>b; n1=n2=strlen(a); r1=0;r2=0; g1=0;g2=0; while(k<1000) {if(g1==n1){if(r1==0){cout<<"John wins."<<endl;break;}for(i=r1-1;i>=0;i–)a[i]=ar[i];n1=r1;r1=0;g1=0;} if(g2==n2){if(r2==0){cout<<"Jane wins."<<endl;break;}for(i=r2-1;i>=0;i–)b[i]=br[i];n2=r2;r2=0;g2=0;} ar[r1++]=a[g1++];br[r2++]=b[g2++]; if(ar[r1-1]==br[r2-1]) {r=rand()/99%2; if(r==0){for(i=0;i<r2;i++)ar[r1+i]=br[i];r1+=r2;r2=0; cout<<"Snap! for Jane: ";for(i=r1-1;i>=0;i–)cout<<ar[i];cout<<endl; } else {for(i=0;i<r1;i++)br[r2+i]=ar[i];r2+=r1;r1=0; cout<<"Snap! for John: ";for(i=r2-1;i>=0;i–)cout<<br[i];cout<<endl;} } k++;} … Continue reading

Posted in poj | Comments Off on Poj Solution 2589