# Monthly Archives: July 2009

## Poj Solution 1108

http://poj.org/problem?id=1108 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<ctype.h> struct window { char c; int hig, wid; int rc, lc; bool al; } wi[70]; char str[70]; int stack[70]; int top; char res[70][70]; void change(int len, bool worh, int w) { int rl, ll, rn, … Continue reading

## Poj Solution 1105

http://poj.org/problem?id=1105 /* @author: */ import java.util.Scanner; import java.util.Arrays; public class Main{ public static void main(String args[]){ Scanner sc=new Scanner(System.in); int n,m,times=1,map[]=new int[7]; char bits[]=new char[129],s[]=new char[20]; while(true){ n=sc.nextInt(); if(n==0) break; for(int i=0;i< n;i++){ s=sc.next().toCharArray(); map[s[1]-‘1’]=(char)i; } bits=sc.next().toCharArray(); m=sc.nextInt(); System.out.printf("S-Tree #%d:n",times++); … Continue reading

## Poj Solution 1103

http://poj.org/problem?id=1103 #include <iostream> #include <memory> #define MAX_N 75 #define MAX_T 150 using namespace std; bool visited[MAX_N + 5][MAX_N + 5][2]; char input[MAX_N + 5][MAX_N + 5]; int w, h, cyNum, lCy = INT_MIN; int startH, startW, startP; bool inRange(int curH, … Continue reading

## Poj Solution 1102

http://poj.org/problem?id=1102 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader read = new BufferedReader(new InputStreamReader( System.in)); int s; String[] ss; String str; String[] num = new String[] { "1111110", "0000110", … Continue reading

## Poj Solution 1101

http://poj.org/problem?id=1101 #include <iostream> #include <queue> using namespace std; const int MAXN = 80; char cmap[MAXN][MAXN]; bool used[MAXN][MAXN]; short turn[MAXN][MAXN]; // [i,j]’s turn direction int vis[MAXN][MAXN]; // the number int w, h, res; bool isSucceed; struct node { int x, y; … Continue reading

## Poj Solution 1100

http://poj.org/problem?id=1100 #include <iostream> #include <sstream> #include <string> #include <vector> using namespace std; #define NIL (unsigned)-1 #define MAX 12 typedef vector <int> VI; typedef unsigned int UI; int cas, N, F; int equ, tmp_num[MAX], UFS[MAX]; VI num, prio, pos, opr, v0, … Continue reading

## Poj Solution 1096

http://poj.org/problem?id=1096 #include<iostream> #include"memory.h" using namespace std; char map[60][60][60]; long answer; int n,m,h; void find() {int i,j,k,key; answer=0; for(i=0;i<m;i++) for(j=0;j<n;j++) {key=1; for(k=0;k<h;k++)if(map[k][i][j]==1&&key){answer++;key=0;} else if(map[k][i][j]==2)key=1; key=1; for(k=h-1;k>=0;k–)if(map[k][i][j]==1&&key){answer++;key=0;} else if(map[k][i][j]==2)key=1; } for(i=0;i<h;i++) for(j=0;j<m;j++) {key=1; for(k=0;k<n;k++)if(map[i][j][k]==1&&key){answer++;key=0;} else if(map[i][j][k]==2)key=1; key=1; for(k=n-1;k>=0;k–)if(map[i][j][k]==1&&key){answer++;key=0;} else if(map[i][j][k]==2)key=1; } for(i=0;i<h;i++) … Continue reading

## Poj Solution 1095

http://poj.org/problem?id=1095 //* @author: ccQ.SuperSupper import java.io.*; import java.util.*; public class Main { static final int N = 20+10; static int sum[] = new int[N],catana[] = new int[N]; static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out)); public static void main(String[]args) throws Exception{ … Continue reading

## Poj Solution 1093

http://poj.org/problem?id=1093 #include<iostream> using namespace std; const char space=’ ‘; char word[10001],l; int len[10002],m,n; int jie[10002]; int chen[10002]; long bad[10002]; void init() {int h=0,j=1,t=0; while(cin.get()) {if(cin.peek()==10)break; while(cin.peek()!=10) {if(cin.peek()==32){cin.get();if(t){len[j++]=t;t=0;}} else {cin.get(word[h++]); t++;} } if(t){len[j++]=t;t=0;} } len[0]=0; m=j-1; l=h; //for(i=0;i<l;i++)cout<<word[i]; //cout<<endl; //for(i=1;i<=m;i++)cout<<len[i]<<endl; } … Continue reading

## Poj Solution 1091

http://poj.org/problem?id=1091 //* @author popop0p0popo import java.util.*; import java.math.*; public class Main{ public static void main(String[] args){ Scanner scanner=new Scanner(System.in); int n=scanner.nextInt(); int m=scanner.nextInt(); int[] yue=getYue(m); for (int i=0;i< yue.length ;i++ ){ if (yue[i]==0){ break; } m=m/yue[i]; } BigInteger ok=(new BigInteger(""+m)).pow(n); … Continue reading