markdown 在线制作ppt json校验和格式化工具

POJ 2153

  1 #include <iostream>
  2 #include <string>
  3 #include <algorithm>
  4 #define MAXN 10005
  5 using namespace std;
  6 
  7 struct node
  8 {
  9     string name;
 10     int score;
 11     node()
 12     {
 13         score = 0;
 14     }
 15 };
 16 node _m[MAXN];
 17 
 18 bool op_1(node a,node b);
 19 
 20 bool op(node a,node b);
 21 
 22 int Binarry_search(node a[],int size,string num);
 23 
 24 int main()
 25 {
 26     //freopen("acm.acm","r",stdin);
 27     int n;
 28     int m;
 29     string s_tem;
 30     int i;
 31     int j;
 32     int tem;
 33     int place;
 34     cin>>n;
 35     getchar();
 36 
 37     for(i = 0; i < n; ++ i)
 38     {
 39         getline(cin,s_tem);
 40         _m[i].name = s_tem;
 41     }
 42     cin>>m;
 43     sort(_m,_m+n,op_1);
 44     for(i = 0; i < m; ++ i)
 45     {
 46         for(j = 0; j < n; ++ j)
 47         {
 48             scanf("%d",&tem);
 49             getchar();
 50             getline(cin,s_tem);
 51             place = Binarry_search(_m,n,s_tem);
 52             _m[place].score += tem;
 53         }
 54         s_tem = "Li Ming";
 55         place = Binarry_search(_m,n,s_tem);
 56         int ans = 0;
 57         for(j = 0; j < n; ++ j)
 58         {
 59             if(_m[j].score > _m[place].score)
 60             {
 61                 ++ ans;
 62             }
 63         }
 64         cout<<ans+1<<endl;
 65     }
 66 
 67 
 68 }
 69 
 70 bool op_1(node a,node b)
 71 {
 72     if(a.name < b.name)
 73         return true;
 74     return false;
 75 }
 76 
 77 bool op(node a,node b)
 78 {
 79     if(a.score > b.score)
 80     {
 81         return true;
 82     }
 83     else if(a.score == b.score)
 84     {
 85         if(a.name == "Li Ming")
 86         {
 87             return true;
 88         }
 89         //return false;
 90     }
 91     return false;
 92 }
 93 
 94 
 95 ////////////////////////////////////////////////////////////////////////////////////////
 96 int Binarry_search(node a[],int size,string num)
 97 {
 98     int i;
 99     int low = 0;
100     int high = size -1;
101     int mid;
102     while(low <= high)
103     {
104         mid = (low + high)/2;
105         if(num < a[mid].name)
106         {
107             high = mid - 1;
108         }
109         else if(num > a[mid].name)
110         {
111             low = mid + 1;
112         }
113         else 
114             return mid;
115     }    
116 //    return false;
117 }

 

关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。 

技术网站地址: vmfor.com

posted @ 2015-06-10 17:06  GavinHacker  阅读(164)  评论(0编辑  收藏  举报
markdown 在线制作ppt json校验和格式化工具