CodeForces 166A Rank List
2016-07-14 15:47
330 查看
场上有点被逼急了,直接结构体加重载等于运算符。呃,简单直白,清晰明了
#include<stdio.h>
#include<iostream>
#include<math.h>
#include<string.h>
#include<iomanip>
#include<stdlib.h>
#include<ctype.h>
#include<algorithm>
#include<deque>
#include<functional>
#include<iterator>
#include<vector>
#include<list>
#include<map>
#include<queue>
#include<set>
#include<stack>
#define CPY(A, B) memcpy(A, B, sizeof(A))
typedef long long LL;
typedef unsigned long long uLL;
const int MOD = 1e9 + 7;
const int INF = 0x3f3f3f3f;
const LL INFF = 0x3f3f3f3f3f3f3f3fLL;
const double EPS = 1e-9;
const double OO = 1e20;
const double PI = acos (-1.0);
const int dx[] = {-1, 0, 1, 0};
const int dy[] = {0, 1, 0, -1};
using namespace std;
struct team{
int tn,ft;
bool operator ==(const team &d){
if(this->tn==d.tn&&this->ft==d.ft) return true;
return false;
}
};
team t[55];
bool cmp(team a,team b){
if(a.tn==b.tn){return a.ft<b.ft;}
return (a.tn>b.tn);
}
int main() {
int n,k;
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++){
scanf("%d%d",&t[i].tn,&t[i].ft);
}
sort(t,t+n,cmp);int cnt=0;
for(int i=0;i<n;i++){
if(t[i]==t[k-1]){cnt++;}//就是让求同种的有多少个嘛……等于就是呗
}
printf("%d\n",cnt);
return 0;
}
#include<stdio.h>
#include<iostream>
#include<math.h>
#include<string.h>
#include<iomanip>
#include<stdlib.h>
#include<ctype.h>
#include<algorithm>
#include<deque>
#include<functional>
#include<iterator>
#include<vector>
#include<list>
#include<map>
#include<queue>
#include<set>
#include<stack>
#define CPY(A, B) memcpy(A, B, sizeof(A))
typedef long long LL;
typedef unsigned long long uLL;
const int MOD = 1e9 + 7;
const int INF = 0x3f3f3f3f;
const LL INFF = 0x3f3f3f3f3f3f3f3fLL;
const double EPS = 1e-9;
const double OO = 1e20;
const double PI = acos (-1.0);
const int dx[] = {-1, 0, 1, 0};
const int dy[] = {0, 1, 0, -1};
using namespace std;
struct team{
int tn,ft;
bool operator ==(const team &d){
if(this->tn==d.tn&&this->ft==d.ft) return true;
return false;
}
};
team t[55];
bool cmp(team a,team b){
if(a.tn==b.tn){return a.ft<b.ft;}
return (a.tn>b.tn);
}
int main() {
int n,k;
scanf("%d%d",&n,&k);
for(int i=0;i<n;i++){
scanf("%d%d",&t[i].tn,&t[i].ft);
}
sort(t,t+n,cmp);int cnt=0;
for(int i=0;i<n;i++){
if(t[i]==t[k-1]){cnt++;}//就是让求同种的有多少个嘛……等于就是呗
}
printf("%d\n",cnt);
return 0;
}
相关文章推荐
- Arduino - 5V供电注意事项
- linux 配置多个tomcat(本文配置了两个)
- 音乐播放器开发过程——连载
- 理解 Unity3D RenderWithShader Api
- Dubbo zookeeper:Will not attempt to authenticate using SASL (unknown error)
- MyEclipse 快捷键问题
- Cocos2d-x 事件分发机制
- TCP连接心跳机制
- saltstack中的minion匹配
- 类似跑马灯
- lua之诡异的#
- Java IO操作——文件操作类File的使用
- CSS魔法堂:重新认识Box Model、IFC、BFC和Collapsing margins
- UVA 1625 Color Length
- iOS音频编程之实时语音通信
- 结合Android使用的Linux命令
- Eclipse SVN冲突解决
- hdu 5146(水题)
- 用VisualVM远程监控阿里云ECS上的Java进程
- YII2.0 UrlHelper