#include<stdio.h>
#define maxn 110
char str[110][1000];
int cnt=1;
struct Node{
int data;
int lson,rson;
int num;
int p;
int v;
Node()
{
data=-1;
lson=-1;
rson=-1;
num=-1;
p=-1;
v=-1;
}
Node(int _data,int _lson,int _rson,int _num,int _p)
{
data=_data;
lson=_lson;
rson=_rson;
num=_num;
p=_p;
v=-1;
}
}tree[maxn];
int n=0;
void build_tree(int root,int data,int num)
{
if(data<tree[root].data)
{
if(tree[root].lson!=-1) build_tree(tree[root].lson,data,num);
else
{
tree[root].lson=num;
tree[num].data=data;
tree[num].lson=tree[num].rson=-1;
tree[num].num=num;
tree[num].p=-1;
}
}
else if(data>tree[root].data)
{
if(tree[root].rson!=-1) build_tree(tree[root].rson,data,num);
else
{
tree[root].rson=num;
tree[num].data=data;
tree[num].lson=tree[num].rson=-1;
tree[num].num=num;
tree[num].p=-1;
}
}
}
int len(int x)
{
int sum=0;
if(x==0 ) return 1;
while(x)
{
sum++;
x/=10;
}
return sum;
}
void PT(int root,int L)
{
if(tree[root].rson!=-1) PT(tree[root].rson,L+len(tree[root].data)+(root==0?2:4)-1);
for(int i=0;i<L;i++) str[cnt][i]='.';
tree[root].v=cnt;
sprintf(str[cnt++]+L,"%s%d%s",(root==0?"":"|-"),tree[root].data,((tree[root].lson==-1&&tree[root].rson==-1)?"":"-|"));
if(tree[root].lson!=-1 || tree[root].rson!=-1) tree[root].p=L+len(tree[root].data)+(root==0?2:4)-1;
if(tree[root].lson!=-1) PT(tree[root].lson,L+len(tree[root].data)+(root==0?2:4)-1);
}
void Format(int root)
{
if(tree[root].lson==-1 && tree[root].rson==-1) return ;
if(tree[root].rson!=-1)
{
for(int i=tree[tree[root].rson].v+1;i<tree[root].v;i++) str[i][tree[root].p]='|';
Format(tree[root].rson);
}
if(tree[root].lson!=-1)
{
for(int i=tree[root].v+1;i<tree[tree[root].lson].v;i++) str[i][tree[root].p]='|';
Format(tree[root].lson);
}
}
int main(void)
{
int data;
scanf("%d",&data);
tree[0]=Node(data,-1,-1,n++,-1);
while(scanf("%d",&data)!=EOF)
{
build_tree(0,data,n++);
}
PT(0,0);
Format(0);
for(int i=1;i<cnt;i++) printf("%s\n",str[i]);
return 0;
}
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int a;
float b;
char c,d;
scanf("%3d%f%c%c",&a,&b,&c,&d);
printf("%-8d|%8.1f|%c",a,b,d);
return 0;
}
#include<iostream>
#include<algorithm>
using namespace std ;
struct fx
{
int f=0 ;
string m ;
}a[105] ;
bool compare(fx a,fx b) ;
int main()
{
int n ;
cin>>n ;
for(int i=1;i<=n;i++)
{
cin>>a[i].m ;
}
int m ;
cin>>m ;
string str ;
int f ;
for(int i=1;i<=m;i++)
{
for(int j=1;j<=n;j++)
{
cin>>f>>str ;
for(int r=1;r<=n;r++)
{
if(str==a[r].m)
{
a[r].f+=f ;
}
}
}
sort(a+1,a+1+n,compare) ;
for(int r=1;r<=n;r++)
{
if(a[r].m=="DaDa")
{
while(a[r-1].f==a[r].f)
{
r-- ;
}
cout<<r<<endl ;
break ;
}
}
}
return 0 ;
}
bool compare(fx a,fx b)
{
return a.f>b.f ;
}
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
using namespace std;
const int N=100000;
struct P{int x,y;};
bool cmp(P a,P b){
if(a.x==b.x)return a.y<b.y;
return a.x<b.x;
}
P d[N+5];
struct F{int max,min;};
F fl[N+5],fr[N+5];
inline double Max(double a,double b){return a>b?a:b;}
inline double Min(double a,double b){return a>b?b:a;}
bool check(double m,int n){
m*=2;
int i,j=0;
for(i=0;i<n;i++){
while(j<n&&d[j].x-d[i].x<=m)j++;
double MAX=-1e10;
double MIN=1e10;
if(j!=n){
MAX=Max(MAX,fr[j].max);
MIN=Min(MIN,fr[j].min);
}
if(i-1>=0){
MAX=Max(MAX,fl[i-1].max);
MIN=Min(MIN,fl[i-1].min);
}
if(MAX-MIN<=m)return true;
}
return false;
}
void init(int n){
int i;
fl[0].min=fl[0].max=d[0].y;
for(i=1;i<n;i++){
fl[i].max=Max(fl[i-1].max,d[i].y);
fl[i].min=Min(fl[i-1].min,d[i].y);
}
fr[n-1].min=fr[n-1].max=d[n-1].y;
for(i=n-2;i>=0;i--){
fr[i].max=Max(fr[i+1].max,d[i].y);
fr[i].min=Min(fr[i+1].min,d[i].y);
}
}
int main(){
int i,n;
cin>>n;
for(i=0;i<n;i++){
int x,y;
scanf("%d%d",&x,&y);
d[i].x=x+y;
d[i].y=x-y;
}
sort(d,d+n,cmp);
init(n);
double l=0.0;
double r=1000000000;
while(r-l>=0.01){
double m=(l+r)/2;
if(check(m,n))r=m;
else l=m;
}
printf("%.1f\n",r);
return 0;
}
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int c = 0;
while (true) {
int n = sc.nextInt();
int m = sc.nextInt();
if (m == 0 && n == 0)
break;
int[][] arr = new int[n + 2][m + 2];
for (int i = 1; i < arr.length - 1; i++) {
char[] chs = sc.next().toCharArray();
for (int j = 0; j < chs.length; j++) {
arr[i][j + 1] = chs[j] == '*' ? 1 : 0;
}
}
System.out.println("Field #" + ++c + ":");
for (int i = 1; i < arr.length - 1; i++) {
for (int j = 1; j < arr[i].length - 1; j++) {
if (arr[i][j] == 1) {
System.out.print('*');
} else {
int count = 0;
count += arr[i - 1][j - 1];
count += arr[i - 1][j];
count += arr[i - 1][j + 1];
count += arr[i][j - 1];
count += arr[i][j + 1];
count += arr[i + 1][j - 1];
count += arr[i + 1][j];
count += arr[i + 1][j + 1];
System.out.print(count);
}
}
System.out.println();
}
System.out.println();
}
sc.close();
}
}