375

Solution: radius of an inscribed circle of a  triangle r = (2 * area of triangle) /perimeter of triangle; #include <iostream> #include <math.h> #include <stdio.h> using namespace std; int main() { int t; double B,H,R,d,a,b,r,h,c,l; double x; cin>>t; while(t–) { cin>>B>>H; l=H; h=H; a=(B/2)*(B/2); c=H*H; d=0; r=(B*H)/(B+2*sqrt(a+c)); R=r; while(r>=0.000001) { h-=2*r; d+=2*r; r=h/H*R; } printf("%13lf\n",d*M_PI);

389

#include <iostream> #include <string> #include <stdio.h> #include <sstream> using namespace std; int fBase,tBase; string str,str1; char ch[7]; int convert() { unsigned long long d; int k=7; unsigned long long r=0; unsigned long long _pow=1; if(str[str.size()-1]>'9') { d=str[str.size()-1]-55; } else d=str[str.size()-1]-'0'; //cout<<_pow<<" "<<d<<"\n"; r+=d; for(int i=str.size()-2;i>=0;i–) { _pow*=fBase; if(str[i]>'9') { d=str[i]-55; } else d=str[i]-'0'; //cout<<_pow<<" "<<d<<"\n";

343

#include <iostream> #include <string> #include <cstring> #include <string.h> using namespace std; unsigned long long decOf(string s,int a) { unsigned long long d; unsigned long long _pow=1; unsigned long long r=0; if((s[s.size()-1]-'0')>=0 && (s[s.size()-1]-'0')<=9) d=(s[s.size()-1]-'0'); else d=(s[s.size()-1]-55); if(d>=a) { return -1; } r+=(d*1); for(int i=s.size()-2;i>=0;i–) { _pow*=a; if((s[i]-'0')>=0 && (s[i]-'0')<=9) d=(s[i]-'0'); else d=(s[i]-55); if(d>=a) { return

340

#include <iostream> #include <map> #include <cstdlib> using namespace std; int target[1001]; int target_org[10]; int guess[1001]; int guess_org[10]; map<int,int> mp; int main() { int n,cnt; int match,w_match; int c=1,Ln; while(cin>>n) { if(n==0) break; int i=0; for(int i=1;i<=9;i++) target_org[i]=0; cnt=0; for(int i=1;i<=n;i++) { cin>>target[i]; if(target_org[target[i]]==0) { cnt++; } target_org[target[i]]++; } Ln=1; while(1) { int sum=0; match=0; for(int

347

#include <iostream> #include <vector> #include <map> #include <cstring> #include <cstdio> using namespace std; map<int,int> np,mp; vector<int> vb; int arr[10]; int run[9999999+1]; int len; bool check(int a) { char in[100]; int x; if(a<100) len=2; else if(a<1000) len=3; else if(a<10000) len=4; else if(a<100000) len=5; else if(a<1000000) len=6; else if(a<10000000) len=7; int d[10]; for(int i=0;i<10;i++) d[i]=0; int k=len-1;

301

#include <iostream> #include <vector> #include <algorithm> using namespace std; struct order{ int start; int dest; int pss; int prft; }; vector<order> vb; int cap,b,num_order; int result; int passenger_cap[10]; int solve(int position_order,int max) { if(result<max) result=max; int f; while(position_order<=(num_order-1)) { f=0; for(int i=vb[position_order].start;i<vb[position_order].dest;i++) { passenger_cap[i]+=vb[position_order].pss; if(passenger_cap[i]>cap) { f=1; //break; } } if(!f) { solve(position_order+1,max+vb[position_order].prft); } for(int

12712

#include <iostream> using namespace std; int main() { int t,c=0; int MX; int L,M,N; unsigned long long sum,tmp; cin>>t; while(t–) { cin>>L>>M>>N; c++; MX=L*L; tmp=1; for(int i=M-1;i>=0;i–) { tmp=tmp*(MX-i); tmp%=10000000000007; } sum=0; for(int j=1;j<=N-M+1;j++) { sum+=tmp; sum%=10000000000007; tmp*=(MX-M+1-j); tmp%=10000000000007; } cout<<"Case "<<c<<": "; cout<<sum<<"\n"; } return 0; }  

350

#include <iostream> #include <map> using namespace std; map<unsigned long long,int> mp; int main() { unsigned long long z,I,M,L; int c=0; while(cin>>z) { cin>>I>>M>>L; if(z==0 && I==0 && M==0 && L==0) break; c++; mp.clear(); L=((z)*(L)+I)%M; //mp[L]=1; while(mp[L]==0) { mp[L]=1; L=(z*L+I)%M; } cout<<"Case "<<c<<": "; cout<<mp.size()<<"\n"; } return 0; }  

10104

//Extended euclid Algorithm #include <iostream> using namespace std; long long int gcd(long long int a, long long int b) { if(b==0) return a; else return gcd(b,a%b); } int main() { long long int a,b,g,q,temp,t1,t2; while(cin>>a>>b) { //g=gcd(a,b); long long int prevx=1,x=0,y=1,prevy=0; while(b) { q=a/b; t1=x; x=prevx-q*x; prevx=t1; t2=y; y=prevy-q*y; prevy=t2; temp=a; a=b; b=temp%b; } cout<<prevx<<"