#include<iostream>
#include<list>
#include<string>
#include<cstring>
#include<sstream>
#include<cctype>
#include<string.h>
#include<algorithm>
#include<cmath>
#include<stack>
#include<fstream>
#include<cstdlib>
#include<vector>
#include<map>
#include<utility>
#include<iomanip>
#include<queue>
using namespace std;
#define clr(a) memset(a,0,sizeof(a))
#define fill(a,v) memset(a,v,sizeof(a))
#define PB push_back
#define pi acos(-1.0)
#define eps 1e-9
int main()
{
long long n,x=8,tc=0;
double n2;
while(true)
{
n2=sqrt((x*x+x)/2);
n=n2;
if(n==n2)
{
printf("%10lld%10lld\n",n,x);
tc++;
}
if(tc==10)
break;
x++;
}
return 0;
}
Saturday, 5 May 2012
UVa 113 Power of Cryptography Solution
#include<stdio.h>
#include<math.h>
int main()
{
double n,p;
double ans;
while(scanf("%lf%lf",&n,&p)==2)
{
ans=pow(p,1/n);
printf("%.0lf\n",ans);
}
return 0;
}
#include<math.h>
int main()
{
double n,p;
double ans;
while(scanf("%lf%lf",&n,&p)==2)
{
ans=pow(p,1/n);
printf("%.0lf\n",ans);
}
return 0;
}
UVa 111 History Grading Solution
#include<iostream>
#include<string>
#include<cstring>
#include<sstream>
#include<cctype>
#include<string.h>
#include<algorithm>
#include<cmath>
#include<stack>
#include<fstream>
#include<cstdlib>
#include<vector>
#include<map>
#include<utility>
#include<iomanip>
#include<queue>
using namespace std;
int n,fix[100],test[100],arr[100][100],i,j,fixf[100],testf[100];
int main()
{
map<int,int>fix;
map<int,int>test;
cin>>n;
for(i=0;i<n;i++)
{
cin>>fixf[i];
fix[fixf[i]]=i;
}
while(cin>>testf[0])
{
test[testf[0]]=0;
for(i=1;i<n;i++)
{
cin>>testf[i];
test[testf[i]]=i;
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
if(fix[i]==test[j])
arr[i][j]=arr[i-1][j-1]+1;
else
arr[i][j]=max(arr[i][j-1],arr[i-1][j]);
}
cout<<arr[n][n]<<endl;
memset(arr,0,sizeof(arr));
}
return 0;
}
#include<string>
#include<cstring>
#include<sstream>
#include<cctype>
#include<string.h>
#include<algorithm>
#include<cmath>
#include<stack>
#include<fstream>
#include<cstdlib>
#include<vector>
#include<map>
#include<utility>
#include<iomanip>
#include<queue>
using namespace std;
int n,fix[100],test[100],arr[100][100],i,j,fixf[100],testf[100];
int main()
{
map<int,int>fix;
map<int,int>test;
cin>>n;
for(i=0;i<n;i++)
{
cin>>fixf[i];
fix[fixf[i]]=i;
}
while(cin>>testf[0])
{
test[testf[0]]=0;
for(i=1;i<n;i++)
{
cin>>testf[i];
test[testf[i]]=i;
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
if(fix[i]==test[j])
arr[i][j]=arr[i-1][j-1]+1;
else
arr[i][j]=max(arr[i][j-1],arr[i-1][j]);
}
cout<<arr[n][n]<<endl;
memset(arr,0,sizeof(arr));
}
return 0;
}
UVa 108 Maximum Sum Solution
#include<iostream>
#include<list>
#include<string>
#include<cstring>
#include<sstream>
#include<cctype>
#include<string.h>
#include<algorithm>
#include<cmath>
#include<stack>
#include<fstream>
#include<cstdlib>
#include<vector>
#include<map>
#include<utility>
#include<iomanip>
#include<queue>
using namespace std;
#define clr(a) memset(a,0,sizeof(a))
#define PB push_back
#define pi acos(-1.0)
#define eps 1e-9
long sum[120][120];
int main()
{
int n,a,b,c,d,arr[120][120];
long max,temp;
while(cin>>n)
{
max=0;
for(a=1;a<=n;a++)
for(b=1;b<=n;b++)
cin>>arr[a][b];
for(a=1;a<=n;a++)
for(b=1;b<=n;b++)
for(c=1;c<=a;c++)
for(d=1;d<=b;d++)
sum[a][b]+=arr[c][d];
for(a=0;a<=n;a++)
for(b=0;b<=n;b++)
for(c=0;c<=a;c++)
for(d=0;d<=b;d++)
{
temp=sum[a][b]-sum[a][d]-sum[c][b]+sum[c][d];
if(temp>max)
max=temp;
}
cout<<max<<endl;
clr(sum);
}
return 0;
}
#include<list>
#include<string>
#include<cstring>
#include<sstream>
#include<cctype>
#include<string.h>
#include<algorithm>
#include<cmath>
#include<stack>
#include<fstream>
#include<cstdlib>
#include<vector>
#include<map>
#include<utility>
#include<iomanip>
#include<queue>
using namespace std;
#define clr(a) memset(a,0,sizeof(a))
#define PB push_back
#define pi acos(-1.0)
#define eps 1e-9
long sum[120][120];
int main()
{
int n,a,b,c,d,arr[120][120];
long max,temp;
while(cin>>n)
{
max=0;
for(a=1;a<=n;a++)
for(b=1;b<=n;b++)
cin>>arr[a][b];
for(a=1;a<=n;a++)
for(b=1;b<=n;b++)
for(c=1;c<=a;c++)
for(d=1;d<=b;d++)
sum[a][b]+=arr[c][d];
for(a=0;a<=n;a++)
for(b=0;b<=n;b++)
for(c=0;c<=a;c++)
for(d=0;d<=b;d++)
{
temp=sum[a][b]-sum[a][d]-sum[c][b]+sum[c][d];
if(temp>max)
max=temp;
}
cout<<max<<endl;
clr(sum);
}
return 0;
}
UVa 100 The 3n + 1 problem Solution
#include<stdio.h>
int main()
{
int n,m,i,o,j,ans,sum;
while(scanf("%d%d",&n,&m)==2 && m>0 && n>0)
{
sum=0;
printf("%d %d ",n,m);
if(n>m)
{o=m;
m=n;
n=o;}
for(i=n;i<=m;i++)
{
ans=1;
for(j=i;j!=1;j=j)
{
if(j%2==0)
j=j/2;
else
j=3*j+1;
ans=ans+1;
}
if(ans>=sum)
sum=ans;
}
printf("%d\n",sum);
}
return 0;
}
int main()
{
int n,m,i,o,j,ans,sum;
while(scanf("%d%d",&n,&m)==2 && m>0 && n>0)
{
sum=0;
printf("%d %d ",n,m);
if(n>m)
{o=m;
m=n;
n=o;}
for(i=n;i<=m;i++)
{
ans=1;
for(j=i;j!=1;j=j)
{
if(j%2==0)
j=j/2;
else
j=3*j+1;
ans=ans+1;
}
if(ans>=sum)
sum=ans;
}
printf("%d\n",sum);
}
return 0;
}
Subscribe to:
Posts (Atom)