01 October 2017

UVA 11340

/***
Md. Namzul Hasan
Shahjalal University of Science & Technology,Sylhet.
hasan08sust@gmail.com
***/
#include<iostream>
#include<cstdio>
#include<stack>
#include<queue>
#include<map>
#include<vector>
#include<algorithm>
#include<cstring>
#include<sstream>
#include<cmath>
using namespace std ;
typedef long long ll ;
typedef int in ;
typedef unsigned long long ull ;
const double pi = 2*acos(0) ;
#define maxi 40000
#define pf printf
#define sc scanf
#define pb push_back
#define MEM(x,y) (memset((x),(y),sizeof(x)))
#define MIN(x,y) ((x) < (y) ? (x) : (y))
#define MAX(x,y) ((x) > (y) ? (x) : (y))
#define load(array,size)  for(int i=0 ; i<size ; i++) cin>>array[i]  ;
#define new_line  pf("\n")
#define clear_data(array) memset(array,0,sizeof(array))
#define highest_int 2147483647


int main()
{

    //Try to avoid using two nested for loop by two array
    //it increase program complexity
    int test,k,i,item;
    long int v,N ;
    char ch, str[10001];
    map<char,long int>datamap;
     double price;
    while(sc("%d",&test)==1){

        while(test--){
            price =0 ;
            sc("%d",&k);
            i=0;
            while(k--){
                getchar();
               sc("%c %ld",&ch,&v);
               datamap[ch] = v;
            }
            item = i ;
            sc("%ld",&N);
            getchar();
            while(N--){
                gets(str);
                    for(int j=0 ; j<strlen(str);j++){
                        if(datamap[str[j]]){
                            price = price+ datamap[str[j]];
                        }
                    }
            }

            pf("%.2lf$\n",price/100);
            datamap.clear();
        }

    }
    return 0;
}

uva 10260

/***
Md. Namzul Hasan
Shahjalal University of Science & Technology,Sylhet.
hasan08sust@gmail.com
***/
#include<iostream>
#include<cstdio>
#include<stack>
#include<queue>
#include<map>
#include<vector>
#include<algorithm>
#include<cstring>
#include<sstream>
#include<cmath>
using namespace std ;
typedef long long ll ;
typedef int in ;
typedef unsigned long long ull ;
const double pi = 2*acos(0) ;
#define maxi 40000
#define pf printf
#define sc scanf
#define pb push_back
#define MEM(x,y) (memset((x),(y),sizeof(x)))
#define MIN(x,y) ((x) < (y) ? (x) : (y))
#define MAX(x,y) ((x) > (y) ? (x) : (y))
#define load(array,size)  for(int i=0 ; i<size ; i++) cin>>array[i]  ;
#define new_line  pf("\n")
#define clear_data(array) memset(array,0,sizeof(array))
#define highest_int 2147483647


int main()
{
   char str[101];

   while(gets(str)){

   for(int i=0 ; i<strlen(str) ; i++){

     if(str[i]== 'B'||str[i] =='F'||str[i] =='P'||str[i]=='V'){
          if(str[i-1]!= 'B'&&str[i-1] !='F'&&str[i-1] !='P'&&str[i-1]!='V'){
            pf("1");
          }
      }else if(str[i]== 'C'||str[i] =='G'||str[i] =='J'||str[i]=='K'||str[i] =='Q'||str[i]=='S'||str[i]=='X'||str[i]=='Z'){
        if(str[i-1]!= 'C'&&str[i-1] !='G'&&str[i-1] !='J'&&str[i-1]!='K'&&str[i-1] !='Q'&&str[i-1]!='S'&&str[i-1]!='X'&&str[i-1]!='Z'){
            pf("2");
          }
      }else if(str[i]=='D'||str[i]=='T'){
        if(str[i-1]!='D'&&str[i-1]!='T'){
            pf("3");
        }
      }else if(str[i]=='L'){
        if(str[i-1]!='L'){
            pf("4");
          }
      }else if(str[i]=='M'||str[i]=='N'){
        if(str[i-1]!='M'&&str[i-1]!='N'){
            pf("5");
          }
      }else if(str[i]=='R'){
        if(str[i-1]!='R'){
             pf("6");
          }
      }

   }

   pf("\n");

   }
    return 0;
}

uva 482

/***
Md. Namzul Hasan
Shahjalal University of Science & Technology,Sylhet.
hasan08sust@gmail.com
***/
#include<iostream>
#include<cstdio>
#include<stack>
#include<queue>
#include<map>
#include<vector>
#include<algorithm>
#include<cstring>
#include<sstream>
#include<cmath>
using namespace std ;
typedef long long ll ;
typedef int in ;
typedef unsigned long long ull ;
const double pi = 2*acos(0) ;
#define maxi 40000
#define pf printf
#define sc scanf
#define pb push_back
#define MEM(x,y) (memset((x),(y),sizeof(x)))
#define MIN(x,y) ((x) < (y) ? (x) : (y))
#define MAX(x,y) ((x) > (y) ? (x) : (y))
#define load(array,size)  for(int i=0 ; i<size ; i++) cin>>array[i]  ;
#define new_line  pf("\n")
#define clear_data(array) memset(array,0,sizeof(array))
#define highest_int 2147483647


int main()
{

   int test,i,invalue,v1 ;
   string str1, str2,t,v2 ;
   vector<int>data;
   vector<string>strdata ;
   vector< pair<int,string> > result ;

   sc("%d",&test);
   getchar();

   while(test--){
        getchar();
      getline(cin,str1);
      stringstream ss(str1);

      while(ss>>invalue)
        data.pb(invalue);

      getline(cin,str2);
      stringstream sst(str2);

      while(sst>>t)
        strdata.pb(t);

        for(int i=0; i<data.size(); i++){
            v1 = data[i];
            v2 = strdata[i];
            result.pb(make_pair(v1,v2));
        }

        sort(result.begin(),result.end());

        for(int i=0;i<result.size();i++){
            cout<<result[i].second<<endl;
        }

        data.clear();
        strdata.clear();
        result.clear();

        if(test)
          pf("\n");

   }

    return 0;
}

uva 11679

/***
Md. Namzul Hasan
Shahjalal University of Science & Technology,Sylhet.
hasan08sust@gmail.com
***/
#include<iostream>
#include<cstdio>
#include<stack>
#include<queue>
#include<map>
#include<vector>
#include<algorithm>
#include<cstring>
#include<sstream>
#include<cmath>
using namespace std ;
typedef long long ll ;
typedef int in ;
typedef unsigned long long ull ;
const double pi = 2*acos(0) ;
#define maxi 40000
#define pf printf
#define sc scanf
#define pb push_back
#define MEM(x,y) (memset((x),(y),sizeof(x)))
#define MIN(x,y) ((x) < (y) ? (x) : (y))
#define MAX(x,y) ((x) > (y) ? (x) : (y))
#define load(array,size)  for(int i=0 ; i<size ; i++) cin>>array[i]  ;
#define new_line  pf("\n")
#define clear_data(array) memset(array,0,sizeof(array))
#define highest_int 2147483647


int main()
{
    int b,n,i,d,c,v;
    int deposit[10001];

    while(sc("%d %d",&b,&n)){

        if(b ==0 && n==0)
            break;

        for(i=1 ; i<=b; i++){
            sc("%d",&deposit[i]);
        }

        for(i =1 ;i<=n ; i++){
            sc("%d %d %d",&d,&c,&v);
            deposit[d] -= v;
            deposit[c] += v;
        }

         bool bailout = false ;

        for(i=1 ; i<=b ; i++){
            if(deposit[i] < 0){
                bailout = true;
                break;
            }
        }

        if(bailout){
            pf("N\n");
        }else{
        pf("S\n");
        }
    }

    return 0;
}

UVA 10679 - I Love Strings!!