mirror of
https://github.com/Kiritow/OJ-Problems-Source.git
synced 2024-03-22 13:11:29 +08:00
Powered By HC TECH : AutoACer Engine
This commit is contained in:
parent
d635275d42
commit
42d56bbc4b
19
HDOJ/1018_autoAC.cpp
Normal file
19
HDOJ/1018_autoAC.cpp
Normal file
|
@ -0,0 +1,19 @@
|
|||
#include<stdio.h>
|
||||
#include<math.h>
|
||||
int main(){
|
||||
int i,temp,N;
|
||||
int number;
|
||||
long double member=0;
|
||||
scanf("%d",&N);
|
||||
while(N--){
|
||||
scanf("%d",&number);
|
||||
member=0;
|
||||
for(i=1,temp=0;i<=number;i++){
|
||||
member+=log10(i*1.0);
|
||||
}
|
||||
temp=floor(member)+1;
|
||||
printf("%d\n",temp);
|
||||
}
|
||||
getchar();
|
||||
return 0;
|
||||
}
|
36
HDOJ/1019_autoAC.cpp
Normal file
36
HDOJ/1019_autoAC.cpp
Normal file
|
@ -0,0 +1,36 @@
|
|||
#include "stdio.h"
|
||||
__int64 s[1000];
|
||||
__int64 hcf(__int64 a,__int64 b)
|
||||
{
|
||||
__int64 r=0;
|
||||
while(b!=0)
|
||||
{
|
||||
r=a%b;
|
||||
a=b;
|
||||
b=r;
|
||||
}
|
||||
return(a);
|
||||
}
|
||||
__int64 lcd(__int64 u,__int64 v,__int64 h)
|
||||
{
|
||||
return(u*v/h);
|
||||
}
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
int n,m,i;
|
||||
while(scanf("%d",&n)==1)
|
||||
{
|
||||
while(n--)
|
||||
{
|
||||
scanf("%d",&m);
|
||||
for(i=0;i<=m-1;i++)
|
||||
scanf("%I64d",&s[i]);
|
||||
for(i=0;i<=m-2;i++)
|
||||
{
|
||||
s[i+1]=lcd(s[i],s[i+1],hcf(s[i],s[i+1]));
|
||||
}
|
||||
printf("%I64d\n",s[m-1]);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
42
HDOJ/1020_autoAC.cpp
Normal file
42
HDOJ/1020_autoAC.cpp
Normal file
|
@ -0,0 +1,42 @@
|
|||
#include<stdio.h>
|
||||
#include<string.h>
|
||||
#include<ctype.h>
|
||||
char s[10010];
|
||||
int main()
|
||||
{
|
||||
int n;
|
||||
scanf("%d",&n);
|
||||
getchar();
|
||||
while(n--)
|
||||
{
|
||||
int len,i,j,count=1;
|
||||
memset(s,0,sizeof(s));
|
||||
scanf("%s",s);
|
||||
len=strlen(s);
|
||||
i=0;
|
||||
j=i+1;
|
||||
while(j<=len)
|
||||
{
|
||||
if(s[i]!=s[j])
|
||||
{
|
||||
if(count==1)
|
||||
{
|
||||
printf("%c",s[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("%d%c",count,s[i]);
|
||||
}
|
||||
i=j;
|
||||
j++;
|
||||
count=1;
|
||||
}
|
||||
else
|
||||
{
|
||||
j++;
|
||||
count++;
|
||||
}
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
}
|
12
HDOJ/1021_autoAC.cpp
Normal file
12
HDOJ/1021_autoAC.cpp
Normal file
|
@ -0,0 +1,12 @@
|
|||
#include <iostream>
|
||||
using namespace std;
|
||||
int main()
|
||||
{
|
||||
int n;
|
||||
while(cin>>n)
|
||||
if(n%8 == 2||n%8 == 6)
|
||||
cout<<"yes"<<endl;
|
||||
else
|
||||
cout<<"no"<<endl;
|
||||
return 0;
|
||||
}
|
46
HDOJ/1022_autoAC.cpp
Normal file
46
HDOJ/1022_autoAC.cpp
Normal file
|
@ -0,0 +1,46 @@
|
|||
#include<stdio.h>
|
||||
int main()
|
||||
{
|
||||
int n,i,j,k;
|
||||
char in[10],out[10];
|
||||
int flag[20];
|
||||
while(scanf("%d %s %s",&n,in,out)!=EOF)
|
||||
{
|
||||
char stack[1000];
|
||||
int top=-1;
|
||||
i=j=k=0;
|
||||
while(j<n+1&&i<n)
|
||||
{
|
||||
if(stack[top]==out[i]&&top!=-1)
|
||||
{
|
||||
top--;
|
||||
flag[k]=0;
|
||||
k++;
|
||||
i++;
|
||||
}
|
||||
else
|
||||
{
|
||||
top++;
|
||||
flag[k]=1;
|
||||
k++;
|
||||
stack[top]=in[j];
|
||||
j++;
|
||||
}
|
||||
}
|
||||
if(k!=2*n)
|
||||
printf("No.\n");
|
||||
else
|
||||
{
|
||||
printf("Yes.\n");
|
||||
for(i=0; i<n*2; i++)
|
||||
{
|
||||
if(flag[i])
|
||||
printf("in\n");
|
||||
else
|
||||
printf("out\n");
|
||||
}
|
||||
}
|
||||
printf("FINISH\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
83
HDOJ/1023_autoAC.cpp
Normal file
83
HDOJ/1023_autoAC.cpp
Normal file
|
@ -0,0 +1,83 @@
|
|||
#include<stdio.h>
|
||||
#include<string.h>
|
||||
int res[101][200] = {0};
|
||||
int temp[200] = {0};
|
||||
void add(int *x, int *y){
|
||||
int i, t;
|
||||
for(i=0; x[i]!=0&&y[i]!=0; i++){
|
||||
x[i] += y[i] -'0';
|
||||
}
|
||||
for(i; y[i]!=0; i++){
|
||||
x[i] += y[i];
|
||||
}
|
||||
for(t=0; x[t]!=0; t++){
|
||||
if(x[t+1]!=0){
|
||||
x[t+1] += (x[t]-'0')/10;
|
||||
}
|
||||
else{
|
||||
if((x[t]-'0')/10!=0){
|
||||
x[t+1] += (x[t]-'0')/10+'0';
|
||||
}
|
||||
else{
|
||||
x[t+1] = 0;
|
||||
}
|
||||
}
|
||||
x[t] = (x[t]-'0')%10+'0';
|
||||
}
|
||||
}
|
||||
int* multiple(int *x, int *y){
|
||||
int i, j, length;
|
||||
for(i=0; i<200; i++){
|
||||
temp[i] = 0;
|
||||
}
|
||||
for(i=0; x[i]!=0; i++){
|
||||
for(j=0; y[j]!=0; j++){
|
||||
if(temp[i+j]!=0){
|
||||
temp[i+j] += (x[i]-'0')*(y[j]-'0');
|
||||
}
|
||||
else{
|
||||
temp[i+j] += (x[i]-'0')*(y[j]-'0')+'0';
|
||||
}
|
||||
}
|
||||
}
|
||||
length = 0;
|
||||
while(temp[length]!=0){
|
||||
length++;
|
||||
}
|
||||
for(i=0; i<length; i++){
|
||||
temp[i+1] += (temp[i]-'0')/10;
|
||||
temp[i] = (temp[i]-'0')%10 + '0';
|
||||
}
|
||||
if(temp[length]!=0){
|
||||
temp[length] += '0';
|
||||
}
|
||||
while(temp[length]!=0){
|
||||
if((temp[length]-'0')/10!=0){
|
||||
temp[length+1] += temp[length]/10+'0';
|
||||
}
|
||||
temp[length] = (temp[length]-'0')%10+'0';
|
||||
length++;
|
||||
}
|
||||
return temp;
|
||||
}
|
||||
int main(){
|
||||
int n, i, j;
|
||||
res[0][0] = '1';
|
||||
res[1][0] = '1';
|
||||
for(i=2; i<=100; i++){
|
||||
for(j=0; j<i; j++){
|
||||
add(res[i], multiple(res[j], res[i-j-1]));
|
||||
}
|
||||
}
|
||||
while(scanf("%d", &n) != EOF){
|
||||
i=199;
|
||||
while(i>=0){
|
||||
if(res[n][i] != 0){
|
||||
printf("%c", res[n][i]);
|
||||
}
|
||||
i--;
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
40
HDOJ/1024_autoAC.cpp
Normal file
40
HDOJ/1024_autoAC.cpp
Normal file
|
@ -0,0 +1,40 @@
|
|||
#include <cstdio>
|
||||
#include <iostream>
|
||||
const int MAX = 1000005;
|
||||
using namespace std;
|
||||
int num[MAX], pre_max[MAX];
|
||||
inline int max(int a, int b)
|
||||
{
|
||||
return a > b ? a : b;
|
||||
}
|
||||
int DP(int n, int m)
|
||||
{
|
||||
for(int i = 1; i <= m; ++i)
|
||||
{
|
||||
int tmp = 0;
|
||||
for(int k = 1; k <= i; ++k)
|
||||
tmp += num[k];
|
||||
pre_max[n] = tmp;
|
||||
for(int j = i+1; j <= n; ++j)
|
||||
{
|
||||
tmp = max(pre_max[j-1], tmp) + num[j];
|
||||
pre_max[j-1] = pre_max[n];
|
||||
pre_max[n] = max(pre_max[n], tmp);
|
||||
}
|
||||
}
|
||||
return pre_max[n];
|
||||
}
|
||||
int main()
|
||||
{
|
||||
int n, m;
|
||||
while(~scanf("%d%d", &m, &n))
|
||||
{
|
||||
for(int i = 1; i <= n; ++i)
|
||||
{
|
||||
scanf("%d", &num[i]);
|
||||
pre_max[i] = 0;
|
||||
}
|
||||
printf("%d\n", DP(n, m));
|
||||
}
|
||||
return 0;
|
||||
}
|
53
HDOJ/1025_autoAC.cpp
Normal file
53
HDOJ/1025_autoAC.cpp
Normal file
|
@ -0,0 +1,53 @@
|
|||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
int a[500001];
|
||||
int dp[500001];
|
||||
int f[500001];
|
||||
int binary_search(int k, int l, int h)
|
||||
{
|
||||
int mid;
|
||||
while (l <= h)
|
||||
{
|
||||
mid = (l + h)/2;
|
||||
if (f[mid] <= k)
|
||||
l = mid + 1;
|
||||
else
|
||||
h = mid - 1;
|
||||
}
|
||||
return h;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
int n;
|
||||
int t = 0;
|
||||
while (scanf("%d", &n) != EOF)
|
||||
{
|
||||
++t;
|
||||
memset(f, -1, sizeof(f));
|
||||
int i;
|
||||
int tmp1,tmp2;
|
||||
for (i = 0; i < n; ++i)
|
||||
{
|
||||
scanf("%d %d", &tmp1, &tmp2);
|
||||
a[tmp1] = tmp2;
|
||||
}
|
||||
dp[1] = 1;
|
||||
f[1] = a[1];
|
||||
int len = 1;
|
||||
for (i = 2; i <= n; ++i)
|
||||
{
|
||||
int x = binary_search(a[i], 1, len);
|
||||
dp[i] = x + 1;
|
||||
if ( f[i] == -1 || a[i] < f[dp[i]] )
|
||||
f[dp[i]] = a[i];
|
||||
if (dp[i] > len)
|
||||
len = dp[i];
|
||||
}
|
||||
if (len == 1)
|
||||
printf("Case %d:\nMy king, at most %d road can be built.\n\n", t, len);
|
||||
else
|
||||
printf("Case %d:\nMy king, at most %d roads can be built.\n\n", t, len);
|
||||
}
|
||||
return 0;
|
||||
}
|
128
HDOJ/1026_autoAC.cpp
Normal file
128
HDOJ/1026_autoAC.cpp
Normal file
|
@ -0,0 +1,128 @@
|
|||
#include <cstdio>
|
||||
#include <queue>
|
||||
#include <cstring>
|
||||
using namespace std;
|
||||
const int N(103),MAXN(0x6ffffff);
|
||||
struct point
|
||||
{
|
||||
int x,y;
|
||||
point *next;
|
||||
};
|
||||
struct path_node
|
||||
{
|
||||
int pre_x,pre_y,time;
|
||||
};
|
||||
int maze[N][N];
|
||||
path_node path[N][N];
|
||||
point *ans;
|
||||
bool inq[N][N];
|
||||
queue<point> q;
|
||||
int dx[4]={0,0,-1,1},dy[4]={-1,1,0,0};
|
||||
int n,m;
|
||||
void init()
|
||||
{
|
||||
char x;
|
||||
getchar();
|
||||
memset(maze,0,sizeof(maze));
|
||||
memset(path,0,sizeof(path));
|
||||
memset(inq,0,sizeof(inq));
|
||||
for(int i=0;i<n;i++)
|
||||
{
|
||||
for(int j=0;j<m;j++)
|
||||
{
|
||||
scanf("%c",&x);
|
||||
if(x=='X') maze[i][j]=-1;
|
||||
else if(x!='.') maze[i][j]=x-'0';
|
||||
else maze[i][j]=0;
|
||||
path[i][j].time=MAXN;
|
||||
}
|
||||
getchar();
|
||||
}
|
||||
path[0][0].time=0;
|
||||
path[0][0].pre_x=-1;
|
||||
}
|
||||
inline bool passable(int x,int y)
|
||||
{
|
||||
if(x<0||x>n-1||y<0||y>m-1||maze[x][y]==-1)
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
void search()
|
||||
{
|
||||
point s;
|
||||
s.x=s.y=0;
|
||||
q.push(s);
|
||||
inq[s.x][s.y]=true;
|
||||
while(!q.empty())
|
||||
{
|
||||
point u=q.front();
|
||||
q.pop();
|
||||
inq[u.x][u.y]=false;
|
||||
int nx,ny;
|
||||
for(int i=0;i<4;i++)
|
||||
{
|
||||
nx=u.x+dx[i];
|
||||
ny=u.y+dy[i];
|
||||
if(path[nx][ny].time>path[u.x][u.y].time+maze[nx][ny]+1&&passable(nx,ny))
|
||||
{
|
||||
path[nx][ny].time=path[u.x][u.y].time+maze[nx][ny]+1;
|
||||
path[nx][ny].pre_x=u.x;
|
||||
path[nx][ny].pre_y=u.y;
|
||||
if(!inq[nx][ny])
|
||||
{
|
||||
point np;
|
||||
np.x=nx,np.y=ny;
|
||||
q.push(np);
|
||||
inq[nx][ny]=true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
void print()
|
||||
{
|
||||
if(path[n-1][m-1].time!=MAXN)
|
||||
{
|
||||
point *node;
|
||||
int x=n,y=m,t=0;
|
||||
while(x!=-1)
|
||||
{
|
||||
node=new(point);
|
||||
if(ans)
|
||||
node->x=x,node->y=y;
|
||||
else node->x=n-1,node->y=m-1;
|
||||
node->next=ans;
|
||||
ans=node;
|
||||
x=path[node->x][node->y].pre_x;
|
||||
y=path[node->x][node->y].pre_y;
|
||||
}
|
||||
printf("It takes %d seconds to reach the target position, let me show you the way.\n",
|
||||
path[n-1][m-1].time);
|
||||
point *p,*next;
|
||||
for(p=ans;p;p=next)
|
||||
{
|
||||
while(maze[p->x][p->y])
|
||||
{
|
||||
printf("%ds:FIGHT AT (%d,%d)\n",++t,p->x,p->y);
|
||||
maze[p->x][p->y]--;
|
||||
}
|
||||
if(p->next)
|
||||
printf("%ds:(%d,%d)->(%d,%d)\n",++t,p->x,p->y,p->next->x,p->next->y);
|
||||
next=p->next;
|
||||
delete p;
|
||||
}
|
||||
ans=NULL;
|
||||
}
|
||||
else
|
||||
printf("God please help our poor hero.\n");
|
||||
printf("FINISH\n");
|
||||
}
|
||||
int main()
|
||||
{
|
||||
while(scanf("%d%d",&n,&m)!=EOF)
|
||||
{
|
||||
init();
|
||||
search();
|
||||
print();
|
||||
}
|
||||
}
|
28
HDOJ/1027_autoAC.cpp
Normal file
28
HDOJ/1027_autoAC.cpp
Normal file
|
@ -0,0 +1,28 @@
|
|||
#include<iostream>
|
||||
#include<vector>
|
||||
#include<algorithm>
|
||||
using namespace std;
|
||||
int a[10000],coun,n,m,i;
|
||||
int main()
|
||||
{
|
||||
while(cin>>n>>m)
|
||||
{
|
||||
for(i=0;i<n;i++)
|
||||
{
|
||||
a[i] = i+1;
|
||||
}
|
||||
vector<int> iv(a,a+n);
|
||||
coun = 1;
|
||||
while(next_permutation(iv.begin(),iv.end()))
|
||||
{
|
||||
coun++;
|
||||
if(coun==m)
|
||||
break;
|
||||
}
|
||||
printf("%d",iv[0]);
|
||||
for(i=1;i<n;i++)
|
||||
printf(" %d",iv[i]);
|
||||
printf("\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
31
HDOJ/1028_autoAC.cpp
Normal file
31
HDOJ/1028_autoAC.cpp
Normal file
|
@ -0,0 +1,31 @@
|
|||
#include <cstdio>
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
int main()
|
||||
{
|
||||
int n;
|
||||
int c1[125], c2[125];
|
||||
while(~scanf("%d", &n))
|
||||
{
|
||||
for(int i = 0; i <= n; ++i)
|
||||
{
|
||||
c1[i] = 1;
|
||||
c2[i] = 0;
|
||||
}
|
||||
for(int i = 2; i <= n; ++i)
|
||||
{
|
||||
for(int j = 0; j <= n; ++j)
|
||||
{
|
||||
for(int k = 0; k <= n/i*i; k += i)
|
||||
c2[j+k] += c1[j];
|
||||
}
|
||||
for(int j = 0; j <= n; ++j)
|
||||
{
|
||||
c1[j] = c2[j];
|
||||
c2[j] = 0;
|
||||
}
|
||||
}
|
||||
printf("%d\n", c1[n]);
|
||||
}
|
||||
return 0;
|
||||
}
|
27
HDOJ/1029_autoAC.cpp
Normal file
27
HDOJ/1029_autoAC.cpp
Normal file
|
@ -0,0 +1,27 @@
|
|||
#include<stdio.h>
|
||||
int main()
|
||||
{
|
||||
long n,num,cnt,res;
|
||||
while(EOF != scanf("%d",&n))
|
||||
{
|
||||
cnt = 0;
|
||||
while(n--)
|
||||
{
|
||||
scanf("%d",&num);
|
||||
if(0 == cnt)
|
||||
{
|
||||
res = num;
|
||||
cnt++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if(res == num)
|
||||
cnt++;
|
||||
else
|
||||
cnt--;
|
||||
}
|
||||
}
|
||||
printf("%d\n",res);
|
||||
}
|
||||
return 0;
|
||||
}
|
40
HDOJ/1030_autoAC.cpp
Normal file
40
HDOJ/1030_autoAC.cpp
Normal file
|
@ -0,0 +1,40 @@
|
|||
#include <iostream>
|
||||
#include <cmath>
|
||||
using namespace std;
|
||||
struct Note
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
int z;
|
||||
};
|
||||
int main()
|
||||
{
|
||||
Note a,b;
|
||||
int m,n;
|
||||
while(cin>>m>>n)
|
||||
{
|
||||
int sa=0;
|
||||
int sb=0;
|
||||
int k;
|
||||
int t=ceil(sqrt(m));
|
||||
a.x=t;
|
||||
k=(m-(t-1)*(t-1))/2;
|
||||
a.y=t-k;
|
||||
k=((2*t-1)-m+(t-1)*(t-1))/2;
|
||||
a.z=t-k;
|
||||
if((2*t-1-m+(t-1)*(t-1))%2==0) sa=1;
|
||||
if(sa==0) a.z=a.z-1;
|
||||
t=ceil(sqrt(n));
|
||||
b.x=t;
|
||||
k=(n-(t-1)*(t-1))/2;
|
||||
b.y=t-k;
|
||||
k=((2*t-1)-n+(t-1)*(t-1))/2;
|
||||
b.z=t-k;
|
||||
if((2*t-1-n+(t-1)*(t-1))%2==0) sb=1;;
|
||||
if(sb==0) b.z=b.z-1;
|
||||
int ans=0;
|
||||
ans=abs(a.x-b.x)+abs(a.y-b.y)+abs(a.z-b.z);
|
||||
cout<<ans<<endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
52
HDOJ/1031_autoAC.cpp
Normal file
52
HDOJ/1031_autoAC.cpp
Normal file
|
@ -0,0 +1,52 @@
|
|||
#include<iostream>
|
||||
#include<stdio.h>
|
||||
#include<fstream>
|
||||
using namespace std;
|
||||
struct Node{
|
||||
int num;
|
||||
double times;
|
||||
};
|
||||
Node T[1000];
|
||||
int cmp1( const void *a , const void *b )
|
||||
{
|
||||
struct Node *c = (Node *)a;
|
||||
struct Node *d = (Node *)b;
|
||||
if(c->times != d->times) return d->times - c->times;
|
||||
}
|
||||
int cmp2( const void *a , const void *b )
|
||||
{
|
||||
struct Node *c = (Node *)a;
|
||||
struct Node *d = (Node *)b;
|
||||
return c->num > d->num ? -1 : 1 ;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
int i,j,k,n,m;
|
||||
double temp;
|
||||
while(EOF != scanf("%d %d %d",&n,&m,&k))
|
||||
{
|
||||
for(i=0;i<m;i++)
|
||||
{
|
||||
T[i].num = i+1 ;
|
||||
T[i].times = 0;
|
||||
}
|
||||
for(i=0;i<n;i++)
|
||||
{
|
||||
for(j=0;j<m;j++)
|
||||
{
|
||||
scanf("%lf",&temp);
|
||||
T[j].times += temp;
|
||||
}
|
||||
}
|
||||
qsort(T,m,sizeof(T[0]),cmp1);
|
||||
qsort(T,k,sizeof(T[0]),cmp2);
|
||||
for(i=0;i<k;i++)
|
||||
{
|
||||
printf("%d",T[i].num);
|
||||
if(i!= k-1)
|
||||
printf(" ");
|
||||
}
|
||||
printf("\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
40
HDOJ/1032_autoAC.cpp
Normal file
40
HDOJ/1032_autoAC.cpp
Normal file
|
@ -0,0 +1,40 @@
|
|||
#include <iostream>
|
||||
using namespace std;
|
||||
#define MAXNUM 1000000 + 1
|
||||
int result[MAXNUM];
|
||||
int main()
|
||||
{
|
||||
int beg,end,max,count,temp;
|
||||
while(cin>>beg>>end)
|
||||
{
|
||||
cout<<beg<<" "<<end<<" ";
|
||||
if(beg > end)
|
||||
{
|
||||
temp = beg;beg = end;end = temp;
|
||||
}
|
||||
max = count = 0;
|
||||
for(int t = beg;t <= end;++t)
|
||||
{
|
||||
if(result[t])
|
||||
count = result[t];
|
||||
else
|
||||
{
|
||||
temp = t;
|
||||
count = 1;
|
||||
while(temp != 1)
|
||||
{
|
||||
if(temp%2 == 0)
|
||||
temp = temp/2;
|
||||
else
|
||||
temp = 3*temp + 1;
|
||||
++count;
|
||||
}
|
||||
result[t] = count;
|
||||
}
|
||||
if(count > max)
|
||||
max = count;
|
||||
}
|
||||
cout<<max<<endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
66
HDOJ/1033_autoAC.cpp
Normal file
66
HDOJ/1033_autoAC.cpp
Normal file
|
@ -0,0 +1,66 @@
|
|||
#include <iostream>
|
||||
#include <string>
|
||||
using namespace std;
|
||||
int main()
|
||||
{
|
||||
string input;
|
||||
while (cin>>input)
|
||||
{
|
||||
cout<<"300 420 moveto"<<endl;
|
||||
cout<<"310 420 lineto"<<endl;
|
||||
int x=310,y=420;
|
||||
int len=input.length();
|
||||
int flag=1;
|
||||
for(int i=0;i<len;i++)
|
||||
{
|
||||
if(input[i]=='A')
|
||||
{
|
||||
switch(flag)
|
||||
{
|
||||
case 1:
|
||||
y-=10;
|
||||
flag=2;
|
||||
break;
|
||||
case 2:
|
||||
x-=10;
|
||||
flag=3;
|
||||
break;
|
||||
case 3:
|
||||
y+=10;
|
||||
flag=4;
|
||||
break;
|
||||
case 4:
|
||||
x+=10;
|
||||
flag=1;
|
||||
break;
|
||||
}
|
||||
cout<<x<<" "<<y<<" lineto"<<endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
switch(flag)
|
||||
{
|
||||
case 1:
|
||||
y+=10;
|
||||
flag=4;
|
||||
break;
|
||||
case 2:
|
||||
x+=10;
|
||||
flag=1;
|
||||
break;
|
||||
case 3:
|
||||
y-=10;
|
||||
flag=2;
|
||||
break;
|
||||
case 4:
|
||||
x-=10;
|
||||
flag=3;
|
||||
break;
|
||||
}
|
||||
cout<<x<<" "<<y<<" lineto"<<endl;
|
||||
}
|
||||
}
|
||||
cout<<"stroke\nshowpage"<<endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
60
HDOJ/1034_autoAC.cpp
Normal file
60
HDOJ/1034_autoAC.cpp
Normal file
|
@ -0,0 +1,60 @@
|
|||
#include<iostream>
|
||||
using namespace std;
|
||||
int T[500],T1[500],n;
|
||||
int check()
|
||||
{
|
||||
int temp = T[0];
|
||||
for(int j=1;j<n;j++)
|
||||
{
|
||||
if(temp != T[j])
|
||||
return -1;
|
||||
}
|
||||
return temp;
|
||||
}
|
||||
bool isEv(int num)
|
||||
{
|
||||
return num%2==0?true:false;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
int i,k,cnt,res;
|
||||
while(scanf("%d",&n) && n)
|
||||
{
|
||||
for(i=0;i<n;i++)
|
||||
{
|
||||
scanf("%d",&T[i]);
|
||||
}
|
||||
cnt =0;
|
||||
res = -1;
|
||||
while(1)
|
||||
{
|
||||
res = check();
|
||||
if(res != -1)
|
||||
break;
|
||||
for(i=0;i<n;i++)
|
||||
{
|
||||
T1[i] = T[i]/2;
|
||||
}
|
||||
for(i=0;i<n;i++)
|
||||
{
|
||||
if(i ==n-1)
|
||||
{
|
||||
T1[0] += T[n-1]/2;
|
||||
}
|
||||
else
|
||||
{
|
||||
T1[i+1] += T[i]/2;
|
||||
}
|
||||
}
|
||||
for(i=0;i<n;i++)
|
||||
{
|
||||
if(false == isEv(T1[i]))
|
||||
T1[i]++;
|
||||
T[i] = T1[i];
|
||||
}
|
||||
cnt++;
|
||||
}
|
||||
printf("%d %d\n",cnt,res);
|
||||
}
|
||||
return 0;
|
||||
}
|
54
HDOJ/1035_autoAC.cpp
Normal file
54
HDOJ/1035_autoAC.cpp
Normal file
|
@ -0,0 +1,54 @@
|
|||
#include <stdio.h>
|
||||
int maze[11][11];
|
||||
int r,c,b;
|
||||
int idx;
|
||||
void step(int x,int y)
|
||||
{
|
||||
int t;
|
||||
if(x<0||x>=r||y<0||y>=c)
|
||||
{
|
||||
printf("%d step(s) to exit\n",idx-999);
|
||||
return;
|
||||
}
|
||||
if(maze[x][y]>=1000)
|
||||
{
|
||||
printf("%d step(s) before a loop of %d step(s)\n",maze[x][y]-1000,idx-maze[x][y]+1);
|
||||
return;
|
||||
}
|
||||
t=maze[x][y];
|
||||
idx++;
|
||||
maze[x][y]=idx;
|
||||
switch (t)
|
||||
{
|
||||
case 'N':
|
||||
step(x-1,y);
|
||||
break;
|
||||
case 'S':
|
||||
step(x+1,y);
|
||||
break;
|
||||
case 'E':
|
||||
step(x,y+1);
|
||||
break;
|
||||
case 'W':
|
||||
step(x,y-1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
int main()
|
||||
{
|
||||
int i,j;
|
||||
while (scanf("%d%d",&r,&c),r||c)
|
||||
{
|
||||
scanf("%d",&b);
|
||||
getchar();
|
||||
for (i=0;i<r;i++)
|
||||
{
|
||||
for (j=0;j<c;j++)
|
||||
maze[i][j]=getchar();
|
||||
getchar();
|
||||
}
|
||||
idx=999;
|
||||
step(0,b-1);
|
||||
}
|
||||
return 0;
|
||||
}
|
43
HDOJ/1036_autoAC.cpp
Normal file
43
HDOJ/1036_autoAC.cpp
Normal file
|
@ -0,0 +1,43 @@
|
|||
#include <cstdio>
|
||||
#include <cstring>
|
||||
using namespace std;
|
||||
int main()
|
||||
{
|
||||
int n;
|
||||
double d;
|
||||
char* time = new char[8];
|
||||
scanf("%d%lf", &n, &d);
|
||||
int num;
|
||||
while(scanf("%d", &num) != EOF)
|
||||
{
|
||||
int sec = 0;
|
||||
int flag = 0;
|
||||
for(int i = 0; i < n; i++)
|
||||
{
|
||||
scanf("%s", time);
|
||||
if(time[0] == '-')
|
||||
{
|
||||
flag = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
sec += (time[0] - '0') * 3600 + ((time[2] - '0') * 10 + time[3] - '0') * 60 + (time[5] - '0') * 10 + time[6] - '0';
|
||||
}
|
||||
}
|
||||
if(flag == 0)
|
||||
{
|
||||
sec = int(sec * 1.0 / d + 0.5);
|
||||
int minute = sec / 60;
|
||||
int second = sec % 60;
|
||||
printf("%3d: %d:", num, minute);
|
||||
if(second < 10)
|
||||
printf("0");
|
||||
printf("%d min/km\n", second);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("%3d: -\n", num);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
14
HDOJ/1037_autoAC.cpp
Normal file
14
HDOJ/1037_autoAC.cpp
Normal file
|
@ -0,0 +1,14 @@
|
|||
#include <iostream>
|
||||
using namespace std;
|
||||
int main()
|
||||
{
|
||||
int a, b, c, min;
|
||||
while (cin >> a >> b >> c) {
|
||||
min = a;
|
||||
if (b < min) min = b;
|
||||
if (c < min) min = c;
|
||||
if (min > 168) cout << "NO CRASH" << endl;
|
||||
else cout << "CRASH " << min << endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
20
HDOJ/1038_autoAC.cpp
Normal file
20
HDOJ/1038_autoAC.cpp
Normal file
|
@ -0,0 +1,20 @@
|
|||
#include<iostream>
|
||||
#include <iomanip>
|
||||
using namespace std;
|
||||
int main(){
|
||||
const float pi = 3.1415927;
|
||||
float diameter_inch;
|
||||
int circle;
|
||||
float time_sec;
|
||||
int count = 1;
|
||||
while(cin>>diameter_inch>>circle>>time_sec && circle != 0){
|
||||
float distance;
|
||||
float time_hour;
|
||||
float speed;
|
||||
distance = pi * diameter_inch * circle / 5280 / 12;
|
||||
time_hour = time_sec / 3600;
|
||||
speed = distance / time_hour;
|
||||
cout<<"Trip #"<<count++<<": ";
|
||||
cout<<fixed<<setprecision(2)<<distance<<" "<<speed<<endl;
|
||||
}
|
||||
}
|
44
HDOJ/1039_autoAC.cpp
Normal file
44
HDOJ/1039_autoAC.cpp
Normal file
|
@ -0,0 +1,44 @@
|
|||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
int isvowel(char c){
|
||||
if(c=='a'||c=='e'||c=='i'||c=='o'||c=='u')
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
int isA(char str[]){
|
||||
int i=0,vowel=0,consonant=0,k;
|
||||
for(k=0;k<strlen(str);k++){
|
||||
if(isvowel(str[k])){
|
||||
i=1;
|
||||
vowel++;
|
||||
consonant=0;
|
||||
if(vowel>2)
|
||||
return 0;
|
||||
}
|
||||
else{
|
||||
consonant++;
|
||||
vowel=0;
|
||||
if(consonant>2)
|
||||
return 0;
|
||||
}
|
||||
if(str[k]!='e'&&str[k]!='o'&&str[k]==str[k+1])
|
||||
return 0;
|
||||
}
|
||||
if(!i)
|
||||
return 0;
|
||||
else
|
||||
return 1;
|
||||
}
|
||||
int main(){
|
||||
char str[25];
|
||||
while(~scanf("%s",str)){
|
||||
if(!strcmp(str,"end"))
|
||||
break;
|
||||
if(isA(str)){
|
||||
printf("<%s> is acceptable.\n",str);
|
||||
}
|
||||
else
|
||||
printf("<%s> is not acceptable.\n",str);
|
||||
}
|
||||
}
|
23
HDOJ/1040_autoAC.cpp
Normal file
23
HDOJ/1040_autoAC.cpp
Normal file
|
@ -0,0 +1,23 @@
|
|||
#include <iostream>
|
||||
#include <algorithm>
|
||||
using namespace std;
|
||||
int main ()
|
||||
{
|
||||
int t, n, i;
|
||||
int *d;
|
||||
cin >> t;
|
||||
while (t--) {
|
||||
cin >> n;
|
||||
d = (int *)malloc(sizeof(int)*n);
|
||||
for (i = 0; i < n; i++) {
|
||||
cin >> d[i];
|
||||
}
|
||||
sort (d, d+n);
|
||||
cout << d[0];
|
||||
for (i = 1; i < n; i++) {
|
||||
cout << " " << d[i];
|
||||
}
|
||||
cout << endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
29
HDOJ/1041_autoAC.cpp
Normal file
29
HDOJ/1041_autoAC.cpp
Normal file
|
@ -0,0 +1,29 @@
|
|||
#include<iostream>
|
||||
#include<string>
|
||||
using namespace std;
|
||||
string add(string s1,string s2){
|
||||
if(s1.length()<s2.length()){
|
||||
string temp=s1;
|
||||
s1=s2;
|
||||
s2=temp;
|
||||
}
|
||||
for(int i=s1.length()-1,j=s2.length ()-1;i>=0;i--,j--){
|
||||
s1[i]=char(s1[i]+( j>=0 ? s2[j]-'0' : 0));
|
||||
if(s1[i]-'0'>=10) {
|
||||
s1[i]=char( (s1[i]-'0')%10+'0' );
|
||||
if(i) s1[i-1]++;
|
||||
else s1="1"+s1;
|
||||
}
|
||||
}
|
||||
return s1;
|
||||
}
|
||||
string f[1005];
|
||||
int main(){
|
||||
int n;
|
||||
f[1]="0"; f[2]="1"; f[3]="1"; f[4]="3"; f[5]="5"; f[6]="11";
|
||||
for(int i=7;i<=1004;i++)
|
||||
f[i]=add( f[i-1], add(f[i-2],f[i-2]) );
|
||||
while(scanf("%d",&n)==1)
|
||||
cout<<f[n]<<endl;
|
||||
return 0;
|
||||
}
|
25
HDOJ/1042_autoAC.cpp
Normal file
25
HDOJ/1042_autoAC.cpp
Normal file
|
@ -0,0 +1,25 @@
|
|||
#include<stdio.h>
|
||||
int main()
|
||||
{
|
||||
int a[10000];
|
||||
int i,j,c,m,n;
|
||||
while(scanf("%d",&n)!=EOF){
|
||||
a[0]=1;
|
||||
m=0;
|
||||
for(i=1;i<=n;i++)
|
||||
{
|
||||
c=0;
|
||||
for(j=0;j<=m;j++)
|
||||
{
|
||||
a[j]=a[j]*i+c;
|
||||
c=a[j]/10000;
|
||||
a[j]=a[j]%10000;
|
||||
}
|
||||
if(c>0) {m++;a[m]=c;}
|
||||
}
|
||||
printf("%d",a[m]);
|
||||
for(i=m-1;i>=0;i--) printf("%4.4d",a[i]);
|
||||
printf("\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
1
HDOJ/1043_autoAC.cpp
Normal file
1
HDOJ/1043_autoAC.cpp
Normal file
|
@ -0,0 +1 @@
|
|||
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 x
|
149
HDOJ/1044_autoAC.cpp
Normal file
149
HDOJ/1044_autoAC.cpp
Normal file
|
@ -0,0 +1,149 @@
|
|||
#include<iostream>
|
||||
#include<queue>
|
||||
using namespace std;
|
||||
char map[50][50];
|
||||
int distan[12][12];
|
||||
int jewels[12][3];
|
||||
int mark[50][50];
|
||||
int visit[12];
|
||||
int sx,sy,ex,ey,dijige,youjige,cancollect,maxjewels,jieshu;
|
||||
int u,n,m,t,zhubao,flag;
|
||||
struct node
|
||||
{
|
||||
int x,y,step;
|
||||
}w,p;
|
||||
int dir[4][2]={1,0,-1,0,0,1,0,-1};
|
||||
int bfs(int qx,int qy,int mx,int my)
|
||||
{
|
||||
queue<node> q;
|
||||
w.x=qx;w.y=qy;w.step=0;
|
||||
while(!q.empty())
|
||||
q.pop();
|
||||
q.push(w);
|
||||
while(!q.empty())
|
||||
{
|
||||
p=q.front();
|
||||
q.pop();
|
||||
if(p.x==mx&&p.y==my)
|
||||
return p.step;
|
||||
for(int i=0;i<4;i++)
|
||||
{
|
||||
w.x=p.x+dir[i][0];
|
||||
w.y=p.y+dir[i][1];
|
||||
w.step=p.step+1;
|
||||
if(w.x>=0&&w.x<n&&w.y>=0&&w.y<m&&map[w.x][w.y]!='*'&&mark[w.x][w.y]==0)
|
||||
{
|
||||
mark[w.x][w.y]=1;
|
||||
q.push(w);
|
||||
}
|
||||
}
|
||||
}
|
||||
return 1000001;
|
||||
}
|
||||
void dfs(int weizhi,int step,int jewel)
|
||||
{
|
||||
if(step<0) return;
|
||||
if(jieshu==1) return;
|
||||
if(jewel==cancollect&&step>=0&&weizhi==zhubao+1)
|
||||
{
|
||||
maxjewels=jewel;
|
||||
flag=1;
|
||||
jieshu=1;
|
||||
return;
|
||||
}
|
||||
if(weizhi==zhubao+1&&step>=0)
|
||||
{
|
||||
flag=1;
|
||||
if(jewel>maxjewels)
|
||||
maxjewels=jewel;
|
||||
return;
|
||||
}
|
||||
for(int i=0;i<zhubao+2;i++)
|
||||
{
|
||||
if(visit[i]==0)
|
||||
{
|
||||
visit[i]=1;
|
||||
dfs(i,step-distan[weizhi][i],jewel+jewels[i][2]);
|
||||
visit[i]=0;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
cin>>u;
|
||||
youjige=u;
|
||||
dijige=1;
|
||||
while(u--)
|
||||
{
|
||||
memset(jewels,0,sizeof(jewels));
|
||||
cin>>m>>n>>t>>zhubao;
|
||||
for(int i=0;i<zhubao;i++)
|
||||
cin>>jewels[i][2];
|
||||
memset(distan,1000001,sizeof(distan));
|
||||
memset(mark,0,sizeof(mark));
|
||||
memset(visit,0,sizeof(visit));
|
||||
for(int i=0;i<n;i++)
|
||||
{
|
||||
for(int j=0;j<m;j++)
|
||||
{
|
||||
cin>>map[i][j];
|
||||
if(map[i][j]=='@')
|
||||
{
|
||||
sx=i;
|
||||
sy=j;
|
||||
}
|
||||
if(map[i][j]=='<')
|
||||
{
|
||||
ex=i;
|
||||
ey=j;
|
||||
}
|
||||
if(map[i][j]>='A'&&map[i][j]<='J')
|
||||
{
|
||||
jewels[map[i][j]-'A'][0]=i;
|
||||
jewels[map[i][j]-'A'][1]=j;
|
||||
}
|
||||
}
|
||||
}
|
||||
cancollect=0;
|
||||
for(int i=0;i<zhubao;i++)
|
||||
{
|
||||
distan[zhubao][i]=bfs(sx,sy,jewels[i][0],jewels[i][1]);
|
||||
memset(mark,0,sizeof(mark));
|
||||
distan[zhubao+1][i]=bfs(ex,ey,jewels[i][0],jewels[i][1]);
|
||||
memset(mark,0,sizeof(mark));
|
||||
distan[i][zhubao]=distan[zhubao][i];
|
||||
distan[i][zhubao+1]=distan[zhubao+1][i];
|
||||
if(distan[zhubao][i]!=1000001)
|
||||
cancollect+=jewels[i][2];
|
||||
}
|
||||
distan[zhubao][zhubao+1]=bfs(sx,sy,ex,ey);
|
||||
memset(mark,0,sizeof(mark));
|
||||
distan[zhubao+1][zhubao]=distan[zhubao][zhubao+1];
|
||||
for(int i=0;i<zhubao;i++)
|
||||
for(int j=0;j<zhubao;j++)
|
||||
{
|
||||
if(i<j)
|
||||
{
|
||||
distan[i][j]=bfs(jewels[i][0],jewels[i][1],jewels[j][0],jewels[j][1]);
|
||||
memset(mark,0,sizeof(mark));
|
||||
}
|
||||
else
|
||||
distan[i][j]=distan[j][i];
|
||||
}
|
||||
visit[zhubao]=1;
|
||||
maxjewels=0;
|
||||
flag=0;
|
||||
jieshu=0;
|
||||
dfs(zhubao,t,0);
|
||||
cout<<"Case "<<dijige<<':'<<endl;
|
||||
if(flag==1)
|
||||
cout<<"The best score is "<<maxjewels<<'.'<<endl;
|
||||
else
|
||||
cout<<"Impossible"<<endl;
|
||||
if(dijige<youjige)
|
||||
cout<<endl;
|
||||
dijige++;
|
||||
}
|
||||
return 0;
|
||||
}
|
47
HDOJ/1045_autoAC.cpp
Normal file
47
HDOJ/1045_autoAC.cpp
Normal file
|
@ -0,0 +1,47 @@
|
|||
#include <stdio.h>
|
||||
char maze[6][6];
|
||||
int num,result;
|
||||
bool placeable(int row,int col)
|
||||
{
|
||||
int i;
|
||||
i=col-1;
|
||||
while(i>=0&&maze[row][i]!='X')
|
||||
if(maze[row][i--]=='*') return false;
|
||||
i=row-1;
|
||||
while(i>=0&&maze[i][col]!='X')
|
||||
if(maze[i--][col]=='*') return false;
|
||||
return true;
|
||||
}
|
||||
void dfs(int cnt,int max)
|
||||
{
|
||||
int row,col;
|
||||
if(cnt==num*num)
|
||||
{
|
||||
max>result?result=max:1;
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
row=cnt/num;
|
||||
col=cnt%num;
|
||||
if(maze[row][col]=='.'&&placeable(row,col))
|
||||
{
|
||||
maze[row][col]='*';
|
||||
dfs(cnt+1,max+1);
|
||||
maze[row][col]='.';
|
||||
}
|
||||
dfs(cnt+1,max);
|
||||
}
|
||||
}
|
||||
int main()
|
||||
{
|
||||
while(scanf("%d",&num)!=EOF&&num)
|
||||
{
|
||||
for(int i=0;i<num;i++)
|
||||
scanf("%s",maze[i]);
|
||||
result=0;
|
||||
dfs(0,0);
|
||||
printf("%d\n",result);
|
||||
}
|
||||
return 0;
|
||||
}
|
23
HDOJ/1046_autoAC.cpp
Normal file
23
HDOJ/1046_autoAC.cpp
Normal file
|
@ -0,0 +1,23 @@
|
|||
#include <iostream>
|
||||
#include <cstdlib>
|
||||
#include <cstdio>
|
||||
#include <cmath>
|
||||
using namespace std;
|
||||
int main(void)
|
||||
{
|
||||
int n;
|
||||
scanf("%d", &n);
|
||||
for (int i = 1; i < n + 1; ++i)
|
||||
{
|
||||
printf("Scenario #%d:\n", i);
|
||||
int s, t;
|
||||
scanf("%d%d",&s,&t);
|
||||
double sum;
|
||||
sum = s*t;
|
||||
if ((s*t)%2)
|
||||
printf("%.2f\n", sum+sqrt(2)-1);
|
||||
else printf("%.2f\n", (double)sum);
|
||||
printf("\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
41
HDOJ/1047_autoAC.cpp
Normal file
41
HDOJ/1047_autoAC.cpp
Normal file
|
@ -0,0 +1,41 @@
|
|||
#include<iostream>
|
||||
#include<cstring>
|
||||
#include<string>
|
||||
#define maxn 300
|
||||
using namespace std;
|
||||
int numx[maxn],numy[maxn],n;
|
||||
string str,tmp;
|
||||
string Add(string x,string y){
|
||||
string res="";
|
||||
memset(numx,0,sizeof(numx));
|
||||
memset(numy,0,sizeof(numy));
|
||||
int lenx=x.size(),leny=y.size();
|
||||
int maxlen=lenx>leny ? lenx:leny;
|
||||
for(int i=0;i<lenx;i++)numx[lenx-i-1]=x[i]-'0';
|
||||
for(int i=0;i<leny;i++)numy[leny-i-1]=y[i]-'0';
|
||||
for(int i=0;i<=maxlen;i++){
|
||||
numx[i]+=numy[i];
|
||||
if(numx[i]>9){
|
||||
numx[i+1]+=numx[i]/10;
|
||||
numx[i]%=10;
|
||||
}
|
||||
}
|
||||
int i=maxlen+2;
|
||||
for(;i>0&&!numx[i];)i--;
|
||||
for(;i>=0;i--)res+=numx[i]+'0';
|
||||
return res;
|
||||
}
|
||||
int main()
|
||||
{
|
||||
while(cin>>n){
|
||||
while(n--){
|
||||
string sum="0";
|
||||
while(cin>>str&&str!="0"){
|
||||
sum=Add(sum,str);
|
||||
}
|
||||
cout<<sum<<endl;
|
||||
if(n)cout<<endl;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
34
HDOJ/1048_autoAC.cpp
Normal file
34
HDOJ/1048_autoAC.cpp
Normal file
|
@ -0,0 +1,34 @@
|
|||
#include <iostream>
|
||||
#include <string>
|
||||
using namespace std;
|
||||
const int LEN = 210;
|
||||
char engChars[30] = {"ABCDEFGHIJKLMNOPQRSTUVWXYZ"};
|
||||
char aLine[LEN];
|
||||
void decipher()
|
||||
{
|
||||
for (int i = 0;i < strlen(aLine);i ++)
|
||||
{
|
||||
if (isalpha(aLine[i]))
|
||||
{
|
||||
int offset = (aLine[i] - 'A' + 26 - 5) % 26;
|
||||
aLine[i] = engChars[offset];
|
||||
}
|
||||
}
|
||||
}
|
||||
int main ()
|
||||
{
|
||||
while (gets(aLine))
|
||||
{
|
||||
if (strcmp(aLine,"ENDOFINPUT") == 0)
|
||||
break;
|
||||
while (1)
|
||||
{
|
||||
gets(aLine);
|
||||
if (strcmp(aLine,"END") == 0)
|
||||
break;
|
||||
decipher();
|
||||
printf("%s\n",aLine);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
7
HDOJ/1049_autoAC.cpp
Normal file
7
HDOJ/1049_autoAC.cpp
Normal file
|
@ -0,0 +1,7 @@
|
|||
#include<stdio.h>
|
||||
int main(){
|
||||
int n,u,d,t;
|
||||
while(scanf("%d%d%d",&n,&u,&d)!=-1&&n)
|
||||
printf("%d\n",(n-u)%(u-d)?(2*((n-u)/(u-d)+1)+1):(2*((n-u)/(u-d))+1));
|
||||
return 0;
|
||||
}
|
30
HDOJ/1050_autoAC.cpp
Normal file
30
HDOJ/1050_autoAC.cpp
Normal file
|
@ -0,0 +1,30 @@
|
|||
#include <iostream>
|
||||
#include <algorithm>
|
||||
using namespace std;
|
||||
int f[201];
|
||||
int main()
|
||||
{
|
||||
int t, n, i, j, s, e;
|
||||
cin >> t;
|
||||
while( t-- ){
|
||||
memset( f, 0, sizeof(f) );
|
||||
cin >> n;
|
||||
for( i=0; i<n; i++ ){
|
||||
cin >> s >> e;
|
||||
s = (s+1)/2;
|
||||
e = (e+1)/2;
|
||||
if( s > e ){
|
||||
int temp = s;
|
||||
s = e;
|
||||
e = temp;
|
||||
}
|
||||
for( j=s; j<=e; j++)
|
||||
f[j]++;
|
||||
}
|
||||
int consume = 0;
|
||||
for( i=1; i<=200; i++ )
|
||||
consume = max( consume, f[i] );
|
||||
cout << consume*10 << endl;
|
||||
}
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue
Block a user