返回列表 發帖
A
  1. #include<iostream>
  2. #include <stdlib.h>
  3. #define SWAP(x,y) {int t; t = x; x = y; y = t;}
  4. using namespace std;
  5. void quickSort(int[], int, int);
  6. int main(){
  7.     int a,i;
  8.     cin>>a;
  9.     while(a){
  10.              a--;
  11.              int b,c;
  12.              cin>>b>>c;
  13.              int d[b];
  14.              for(i=0;i<b;i++)
  15.                      cin>>d[i];
  16.              quickSort(d,0,b-1);
  17.              bool isB=false;
  18.              for(i=0;i<b;i++){
  19.                      if(d[i]>=c){
  20.                                isB=true;
  21.                                break;
  22.                      }
  23.              }
  24.              if(isB)
  25.                     cout<<i*50+50<<endl;  
  26.              else
  27.                     cout<<"not yet"<<endl;
  28.     }
  29.     return 0;
  30. }

  31. void quickSort(int number[], int left, int right) {     if(left < right) {         int i = left;         int j = right + 1;         while(1) {                while(i + 1 < right+1 && number[++i] < number[left]) ;                            while(j -1 > -1 && number[--j] > number[left]) ;              if(i >= j)                 break;             SWAP(number[i], number[j]);         }         SWAP(number[left], number[j]);         quickSort(number, left, j-1);           quickSort(number, j+1, right);       } }
複製代碼
Roger Cheng

TOP

D
  1. #include<iostream>
  2. #include<cctype>
  3. using namespace std;
  4. int main(){
  5.     int a,b,i,j,k;
  6.     string numbers="123456789";
  7.     cin>>a>>b;
  8.     while(b){
  9.            b--;
  10.            char s[a][2];
  11.            int m[a];
  12.            char e[5*a];
  13.            for(i=0;i<a;i++)
  14.                            cin>>s[i]>>m[i];
  15.                         
  16.            while(b){
  17.                     b--;
  18.                     cin>>e;
  19.                     char tmp[2];
  20.                     int sum=0;
  21.                     for(i=0;i<=sizeof(e);i+=1){int dsum;
  22.                                         if(isupper(e[i])){
  23.                                            if(i>0&&isalpha(e[i-1])){
  24.                                               for(j=0;j<a;j++){
  25.                                                  if(tmp[0]==s[j][0]&&tmp[1]==s[j][1]){                        
  26.                                                     sum+=m[j];cout<<m[j]<<"*1 ";
  27.                                                  }
  28.                                               }
  29.                                            }
  30.                                            if(i>0&&isdigit(e[i-1])){
  31.                                               if(i>0&&isdigit(e[i-2])){
  32.                                                  dsum=0;
  33.                                                  for(j=0;j<a;j++){
  34.                                                     if(tmp[0]==s[j][0]&&tmp[1]==s[j][1]){                        
  35.                                                        for(k=0;k<9;k++){
  36.                                                           if(e[i-1]==numbers[k]){
  37.                                                              dsum+=(k+1);
  38.                                                           }
  39.                                                           if(e[i-2]==numbers[k]){
  40.                                                              dsum+=(k+1)*10;
  41.                                                           }
  42.                                                        }
  43.                                                        sum+=dsum*m[j];cout<<m[j]<<"*"<<dsum<<" ";
  44.                                                     }
  45.                                                  }
  46.                                               }
  47.                                               else{
  48.                                                  for(j=0;j<a;j++){
  49.                                                     if(tmp[0]==s[j][0]&&tmp[1]==s[j][1]){                        
  50.                                                        for(k=0;k<9;k++){
  51.                                                           if(e[i-1]==numbers[k]){
  52.                                                              sum+=(k+1)*m[j];cout<<m[j]<<"*"<<(k+2)<<" ";
  53.                                                           }
  54.                                                        }
  55.                                                     }
  56.                                                  }
  57.                                               }
  58.                                            }
  59.                                            tmp[1]=0;
  60.                                            tmp[0]=e[i];
  61.                                         }
  62.                                         else if(islower(e[i])){
  63.                                            tmp[1]=e[i];
  64.                                         }
  65.                                         else{
  66.                                            if(isdigit(e[i-4])){
  67.                                               if(isdigit(e[i-3])){
  68.                                                  if(isdigit(e[i-1])){
  69.                                                     for(j=0;j<a;j++){
  70.                                                        if(e[i-2]==s[j][0]&&!isalpha(s[j][1])){                        
  71.                                                           for(k=0;k<9;k++){
  72.                                                              if(e[i-1]==numbers[k]){
  73.                                                                 sum+=(k+1)*m[j];cout<<m[j]<<"*"<<(k+2)<<" ";
  74.                                                              }
  75.                                                           }
  76.                                                        }
  77.                                                     }
  78.                                                  }
  79.                                                  else{
  80.                                                     for(j=0;j<a;j++){
  81.                                                        if(e[i-2]==s[j][0]&&e[i-1]==s[j][1]){                        
  82.                                                           sum+=m[j];cout<<m[j]<<"*1 ";
  83.                                                        }
  84.                                                     }
  85.                                                  }
  86.                                               }
  87.                                               else{
  88.                                                  if(isdigit(e[i-2])){
  89.                                                     for(j=0;j<a;j++){
  90.                                                        dsum=0;
  91.                                                        if(tmp[0]==s[j][0]&&tmp[1]==s[j][1]){                        
  92.                                                           for(int k=0;k<9;k++){
  93.                                                              if(e[i-1]==numbers[k]){
  94.                                                                 dsum+=(k+1);
  95.                                                              }/*
  96.                                                              if(e[i-2]==numbers[k]){
  97.                                                                 dsum+=(k+1)*10;
  98.                                                              }*/
  99.                                                           }
  100.                                                           sum+=dsum*m[j];cout<<m[j]<<"*"<<dsum<<" ";
  101.                                                        }
  102.                                                     }
  103.                                                  }
  104.                                                  else{
  105.                                                     for(j=0;j<a;j++){
  106.                                                        if(e[i-3]==s[j][0]&&e[i-2]==s[j][1]){                        
  107.                                                           for(k=0;k<9;k++){
  108.                                                              if(e[i-1]==numbers[k]){
  109.                                                                 sum+=(k+1)*m[j];cout<<m[j]<<"*"<<(k+2)<<" ";
  110.                                                              }
  111.                                                           }
  112.                                                        }
  113.                                                     }
  114.                                                  }
  115.                                               }
  116.                                            }
  117.                                            else{
  118.                                               if(isdigit(i-3)){
  119.                                                  if(isdigit(i-2)){
  120.                                                     for(j=0;j<a;j++){
  121.                                                        if(e[i-1]==s[j][0]&&e[i]==s[j][1]){                        
  122.                                                           sum+=m[j];cout<<m[j]<<"*1 ";
  123.                                                        }
  124.                                                     }
  125.                                                  }
  126.                                               }
  127.                                               else{
  128.                                                  for(j=0;j<a;j++){
  129.                                                     dsum=0;
  130.                                                     if(tmp[0]==s[j][0]&&tmp[1]==s[j][1]){                        
  131.                                                        for(int k=1;k<9;k++){
  132.                                                           if(e[i-1]==numbers[k]){
  133.                                                              dsum+=(k);
  134.                                                           }/*
  135.                                                           if(e[i-2]==numbers[k]){
  136.                                                              dsum+=(k+1)*10;
  137.                                                           }*/
  138.                                                        }
  139.                                                        sum+=dsum*m[j];cout<<m[j]<<"*"<<dsum<<" ";
  140.                                                     }
  141.                                                  }
  142.                                               }
  143.                                            }
  144.                                         }
  145.                     }
  146.                     cout<<sum<<endl;
  147.                     
  148.                     
  149.            }
  150.     }
  151.     return 0;
  152. }
複製代碼
Roger Cheng

TOP

返回列表