Saturday, November 12, 2016

Dev-skills -- Easy Sequence

/*                         CODEMAN
                        Arif Khan Nihar
                    Problem - Easy Sequence


*/
#include<bits/stdc++.h>
using namespace std;
int main()
{
   int n,i,k,l;
   int ar[45];
    ar[1] = 1;
    ar[2] = 3;
    for(i = 3 ; i < 45 ;i++)
         ar[i] = ar[i-1] + ar[i-2];
    cin >> n ;
    while(n--){
        cin >> k;
        cout << ar[k] << endl;
    }
    return 0;
}

Dev-skills -- My Merit Position

/*                         CODEMAN
                        Arif Khan Nihar
                Problem - My Merit Position
*/

#include<bits/stdc++.h>
using namespace std;

struct man_records{
string t_name;
double v;
}team_records[101];

bool cmp(const man_records &x, const man_records &y){
if(x.v != y.v)
return x.v > y.v;
else
 return x.t_name < y.t_name;
}
int main()
{
      int n,k=1;
      cin  >>  n;
      for( int i = 0; i < n ;i++ ){
             cin >> team_records[i].t_name;
            cin >> team_records[i].v;
      }
      stable_sort(team_records,team_records+n,cmp) ;

      for ( int  i  =  0 ;  i < n ; i++)  {
            if(team_records[i].v == team_records[i-1].v)
                cout << k-1 << ".";
            else cout << k++ << ".";
          cout << team_records[i].t_name << endl;
      }

    return 0;
}

Dev-skills -- Break Simulator

/*                          CODEMAN
                            Arif Khan Nihar
                    Problem - Break Simulator


*/
#include<bits/stdc++.h>
using namespace std;
int main()
{
double v,t,ans=0;
int n;
cin>>n;
while(n--) {
cin>>v>>t;
ans = (v/t)*(-1);
printf("%.2lf\n",ans);
   }
return 0;
 }

Friday, November 11, 2016

Uva 10579- Fibonacci Numbers

/*                                                CODEMAN
                                             ARIF KHAN NIHAR
                                    Uva 10579- Fibonacci Numbers


*/
#include<bits/stdc++.h>
using namespace std;
string num[5001];
string make(string s1,string s2){
string res;
int l=0,k=0,c=0;
reverse(s1.begin(),s1.end());
reverse(s2.begin(),s2.end());
k = max(s1.size(),s2.size());
for( int i = 0 ; i < k ; i++ ) {
if(i > s1.size()-1) {
l = s2[i]-48 + c,c=0;
}else if(i  >  s2.size()-1){
l = s1[i]-48 + c,c=0;
}else{
l = l = (s1[i]-48)+(s2[i]-48) + c,c=0;
}
if(l > 9){
l = l-10,c=1;
}
res+= l + 48;
}
if(c == 1)res+="1",c=0;
reverse(res.begin(),res.end());
return res;
}
int main(){
int n;
num[1]="1",num[2]="1";
for(int i = 3 ; i < 4787 ; i++ ) {
num[i] += make(num[i-2],num[i-1]);
}
while(cin>>n){
cout << num[n] << endl;
}
return 0;
}

Uva 10469 - To Carry or not to Carry

/*
                                                      CODEMAN
                                                ARIF KHAN NIHAR
                                      uva 10469 - To Carry or not to Carry

*/
#include <stdio.h>
int main(){
unsigned int a, b;
while(scanf("%u %u", &a, &b) != EOF){
printf("%u\n", a ^ b);
}
return 0;
}

Uva 10450- World Cup Noise

/*                                              CODEMAN
                                            ARIF KHAN NIHAR
                                       Uva 10450- World Cup Noise
                                             date -> 20/10/2016

*/
#include<bits/stdc++.h>
using namespace std;
string num[5001];
string make(string s1,string s2){
string res;
int l=0,k=0,c=0;
reverse(s1.begin(),s1.end());
reverse(s2.begin(),s2.end());
k = max(s1.size(),s2.size());
for( int i = 0 ; i < k ; i++ ) {
if(i  > s1.size()-1) {
l = s2[i]-48 + c,c=0;
}else if(i > s2.size()-1) {
l = s1[i]-48 + c,c=0;
}else {
l = l = (s1[i]-48)+(s2[i]-48) + c,c=0;
                 }
if(l > 9) {
l = l-10,c=1;
               }
res+= l + 48;
            }
if(c == 1) res +="1",c=0;
reverse(res.begin(),res.end());
return res;
         }
int main(){
//freopen("in.txt","r",stdin);
int n1,n,i=1;
num[0]="1",num[1]="2";
for(int i = 2 ; i < 55 ; i++ ) {
num[i] += make(num[i-2],num[i-1]);
         }
cin>>n1;
while(n1--) {
cin>>n;
printf("Scenario #%d:\n",i);
cout << num[n] << "\n\n";
i++;
              }
return 0;
          }

Uva 10420 - List of Conquests

#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,i,j,k,l,m;
string s,s2;
mapint
>res;
cin>>n;
while(n--) {
cin>>s;
getline(cin,s2);
res[s]++;
}
map < string,int > ::iterator it;
for(it = res.begin() ; it != res.end() ; it++ ) {
cout << (*it).first << " " << (*it).second;
cout << endl;
}
return 0;
}

Uva 10340 - All in All

#include<bits/stdc++.h>
using namespace std;
int main()
{
int m=0,i,j,k;
string s,s1,s2;
while(cin>>s >>s1){
k=m=0;
for(j = 0 ; j < s.size() ; j++ ) {
k=0;
for( i = m ; i < s1.size() ; i++ ) {
if(s[j] == s1[i]){
k = 1;
m=i+1;
break;
           }
      }
if(!k)break;
   }
if(k)  cout << "Yes\n";
else  cout << "No\n";
  }
return 0;
 }

Uva 10334- Ray Through Glasess

/*                                             CODEMAN
                                         ARIF KHAN NIHAR
                              Uva 10334- Ray Through Glasess
                                          date -> 20/10/2016

*/
#include<bits/stdc++.h>
using namespace std;
string num[5001];
string make(string s1,string s2){
string res;
int l=0,k=0,c=0;
reverse(s1.begin(),s1.end());
reverse(s2.begin(),s2.end());
k = max(s1.size(),s2.size());
for( int i = 0 ; i < k ; i++ ) {
if(i  >  s1.size()-1) {
l = s2[i]-48 + c,c=0;
         } else if( i  >  s2.size()-1 ) {
l = s1[i]-48 + c,c=0;
     }else{
l = l = (s1[i]-48)+(s2[i]-48) + c,c=0;
         }
if( l > 9 ) {
l = l-10,c=1;
          }
res+= l + 48;
        }
if(c == 1) res+="1",c=0;
reverse(res.begin(),res.end());
return res;
      }
int main(){
int n ;
num[0]="1",num[1]="2";
for( int i = 2 ; i < 1001 ; i++ ) {
num[i]  +=  make(num[i-2],num[i-1]);
             }
while( cin >> n  &&  n < 1001) {
cout << num[n] << endl;
          }
return 0;
     }

Uva 10327 - Flip Sort

#include<bits/stdc++.h>
using namespace std;
int n;
int ad[1005],bd[1001];
int check(int a){
int h = 0,l=0;
for(int i = a ; i >= 0 ; i-- ) {
if(ad[i] < ad[i-1]) {
h++;
swap(ad[i-1],ad[i]);
}
}
return h;
}
int main()
{
int i,j,k,l,m;
while(scanf("%d",&n)!=EOF){
l=0;
for( i = 0 ; i < n ; i++ ) {
cin>>ad[i];
if(i!=0)
if(ad[i] < ad[i-1]) swap(ad[i-1],ad[i]),l++;
}
for( i = 1 ; i < n ; i++ ) {
l += check(i);
}
printf("Minimum exchange operations : %d\n",l);
}
return 0;
}

Uva 10300 - Ecological Premium

#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,ad[3],i,j;
cin >> n;
while(n--) {
int sum=0,k;
cin >> k;
while(k--) {
cin>>ad[0]>>ad[1]>>ad[2];
sum += ad[0]*ad[2];
                }
cout << sum << endl;
            }
return 0;
       }

Uva 10219- Find The ways!

/*                                                     CODEMAN
                                                 ARIF KHAN NIHAR
                                            Uva 10219- Find The ways!
                                                   date -> 10/20/2016

*/
#include<bits/stdc++.h>
using namespace std;
#define logdiv(n) log(n)/log(10)
int main()
{
double re;
long n,k;
while(cin>>n>>k) {
re = 0;
for( int i = 0 ; i < k ; i++ ) {
re += logdiv(n-i) - logdiv(i+1) ;
             }
cout << floor(re)+1 << endl;
         }
return 0;
     }

Uva 102 - Ecological Bin Packing

#include <iostream>
#include <string>
using namespace std;
int main (void) {
unsigned int bottles[9];
int bcg[9],bgc[9],cbg[9],cgb[9],gcb[9],gbc[9],i;
while (cin >> bottles[0]) {
int sum1=0,sum2=0,sum3=0,sum4=0,sum5=0,sum6=0;
string minimum = "BGC";
for ( i = 1; i < 9; i++) {
cin >> bottles[i];
bcg[i]=bottles[i],bgc[i]=bottles[i];
cgb[i]=bottles[i],cbg[i]=bottles[i];
gcb[i]=bottles[i],gbc[i]=bottles[i];
     }
bcg[0]=0,bgc[0]=0,bcg[5]=0,bcg[7]=0,bgc[4]=0,bgc[8]=0;
cbg[0]=bottles[0],cgb[0]=bottles[0],cbg[2]=0,cbg[3]=0;cbg[7]=0,cgb[2]=0,cgb[6]=0,cgb[4]=0;
gcb[0]=bottles[0],gbc[0]=bottles[0],gbc[8]=0,gcb[1]=0,gcb[5]=0,gcb[6]=0,gbc[1]=0,gbc[3]=0;
unsigned int min = 1 << 31;
for( i = 0 ; i < 9 ; i++ ) sum1+=bcg[i],sum2+=bgc[i],sum3+=cbg[i],sum4+=cgb[i],sum5+=gbc[i],sum6+=gcb[i];
if (sum1 < min)minimum = "BCG",min = sum1;
if (sum2 < min)minimum = "BGC",min = sum2;
if (sum3 < min)minimum = "CBG",min = sum3;
if (sum4 < min)minimum = "CGB",min = sum4;
if (sum5 < min)minimum = "GBC",min = sum5;
if (sum6 < min)minimum = "GCB",min = sum6;
cout  <<  minimum  <<  " " <<  min  <<  endl;
}
return 0;
}