目录
错误票据
0错误票据 - 蓝桥云课 (lanqiao.cn)
奖学金
0奖学金 - 蓝桥云课 (lanqiao.cn)
错误票据
0错误票据 - 蓝桥云课 (lanqiao.cn)
特点:不知道每一行要输入的数字有多少个,一共要输入n行数字
可以这样写:
for(int i = 0;i < n;i ++){int x;while(std::cin >> x){a.push_back(x);if(std::cin.get()=='\n')break;}}
完整代码:
#include <bits/stdc++.h>
#define int long long
const int N = 1e5+10;
std::vector<int> a;
std::set<int> s;
signed main()
{int n,len=0;std::cin >> n;int k = 0;for(int i = 0;i < n;i ++){int x;while(std::cin >> x){a.push_back(x);if(std::cin.get()=='\n')break;}}std::sort(a.begin(),a.end());
// for(int i = 0;i < a.size();i ++)
// {
// std::cout<<a[i]<<" ";
// }int duan=0,chong=0;for(int i = 1;i < a.size();i ++){if(a[i]-a[i-1]==2){duan=a[i]-1;}int x=a[i];if(s.find(x)==s.end()){s.insert(x);}else if(s.find(x)!=s.end()){chong=x;}}std::cout<<duan<<" "<<chong;return 0;
}
奖学金
0奖学金 - 蓝桥云课 (lanqiao.cn)
思路:结构体排序,满足返回true,不满足返回false
完整代码:
#include <bits/stdc++.h>
#define int long long
struct node
{int xh;int yw;int sx;int yy;int sum;
};
std::vector<node> a;
bool cmp(node &a1,node &a2)
{if(a1.sum>a2.sum) return true;else if(a1.sum<a2.sum) return false;else if(a1.yw>a2.yw) return true;else if(a1.yw<a2.yw) return false;else if(a1.xh<a2.xh) return true;else if(a1.xh>a2.xh) return false;else return false;
}
signed main()
{int n;std::cin >> n;for(int i = 0;i < n;i ++){int x,y,z;std::cin >> x >> y >> z;a.push_back({i+1,x,y,z,x+y+z});}std::sort(a.begin(),a.end(),cmp);for(int i = 0;i < 5;i++){std::cout<<a[i].xh<<" "<<a[i].sum<<"\n";}return 0;
}