• UNIQUE VISION Programming Contest 2023 Autumn(AtCoder Beginner Contest 323)


    A - Weak Beats

    链接 : 

    A - Weak Beats

    思路 : 

    模拟即可,如果在偶数位上出现了非'0'得元素,直接输出"No"后返回即可,循环顺利结束的话,就直接输出"Yes";

    代码 : 

    1. #include
    2. #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    3. #define endl '\n'
    4. using namespace std;
    5. typedef long long LL;
    6. int gcd(int a,int b){ return b==0 ? a : gcd(b,a%b); }
    7. int lcm(int a,int b){ if(a==0||b==0) return 0; return (a*b)/gcd(a,b); }
    8. bool is_prime(int x){if(x<2) return false;
    9. for(int i=2;i<=x/i;i++) if(x%i==0) return false; return true;}
    10. //numbers.erase(std::unique(numbers.begin(), numbers.end()), numbers.end()); // 去重操作
    11. const int N = 2e5+10;
    12. string s;
    13. inline void solve(){
    14. cin>>s;
    15. s = ' ' + s;
    16. for(int i=2;i<=16;i++){
    17. if(i%2==0){
    18. if(s[i]!='0'){
    19. cout << "No" << endl;
    20. return ;
    21. }
    22. }
    23. }
    24. cout << "Yes" << endl;
    25. return ;
    26. }
    27. int main()
    28. {
    29. IOS
    30. int _ = 1;
    31. // cin >> _;
    32. while(_ --) solve();
    33. return 0;
    34. }

    B - Round-Robin Tournament

    链接 : 

    B - Round-Robin Tournament

    思路 : 

    这一题考察得就是排序;

    将题目给的数据读入之后,按照题目所给得条件排序即可 : sort(p,p+n,cmp),cmp是自己重写得比较方法;

    代码 : 

    1. #include
    2. #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    3. #define endl '\n'
    4. using namespace std;
    5. typedef long long LL;
    6. int gcd(int a,int b){ return b==0 ? a : gcd(b,a%b); }
    7. int lcm(int a,int b){ if(a==0||b==0) return 0; return (a*b)/gcd(a,b); }
    8. bool is_prime(int x){if(x<2) return false;
    9. for(int i=2;i<=x/i;i++) if(x%i==0) return false; return true;}
    10. //numbers.erase(std::unique(numbers.begin(), numbers.end()), numbers.end()); // 去重操作
    11. const int N = 110;
    12. int n;
    13. string s[N];
    14. struct P{
    15. int nb;
    16. int win;
    17. }p[N];
    18. bool cmp(const P& p1,const P& p2){
    19. if(p1.win != p2.win)
    20. return p1.win > p2.win;
    21. return p1.nb < p2.nb;
    22. }
    23. inline void solve(){
    24. cin>>n;
    25. for(int i=0;i>s[i];
    26. for(int i=0;i
    27. p[i].nb = i;
    28. int wi = 0;
    29. for(int j=0;j
    30. if(s[i][j]=='o') wi++;
    31. }
    32. p[i].win = wi;
    33. }
    34. sort(p,p+n,cmp);
    35. for(int i=0;i
    36. cout << p[i].nb + 1 << " ";
    37. }
    38. return ;
    39. }
    40. int main()
    41. {
    42. IOS
    43. int _ = 1;
    44. // cin >> _;
    45. while(_ --) solve();
    46. return 0;
    47. }

    C - World Tour Finals

    链接 : 

    C - World Tour Finals

    思路 : 

    1. 将m道题中每道题的分数记录在a数组中;
    2. 将n个选手的做题情况记录在s数组中;
    3. 在数组s的读入过程中,将n位选手的当前分数记录在nb数组中
    4. 然后开始结果的处理,得到n位选手中当前得分的最大值ma;
    5. 对于每位选手,如果要成为第一,那么按照贪心的思想,应该先做分数较大且未做的题目,然后模拟即可;

    代码 : 

    1. #include
    2. #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    3. #define endl '\n'
    4. using namespace std;
    5. typedef long long LL;
    6. const int N = 108;
    7. int n,m;
    8. int a[N];
    9. int nb[N];
    10. string s[N];
    11. inline void solve(){
    12. cin>>n>>m;
    13. for(int i=1;i<=m;i++) cin>>a[i];//m道题的分数
    14. int ma = 0;
    15. for(int i=1;i<=n;i++){
    16. cin>>s[i];
    17. int nbv = 0;
    18. for(int j=0;j
    19. if(s[i][j]=='o') nbv += a[j+1];
    20. }
    21. nb[i] = nbv + i;
    22. ma = max(ma,nb[i]);
    23. }
    24. for(int i=1;i<=n;i++){
    25. int cha = ma - nb[i];
    26. if(cha == 0){
    27. cout << 0 << endl;
    28. continue;
    29. }
    30. vector<int> num;
    31. for(int j=0;j
    32. if(s[i][j]=='x') num.push_back(a[j+1]);
    33. sort(num.begin(),num.end());
    34. int t = 0;
    35. for(int k=num.size()-1;k>=0;k--){
    36. cha -= num[k];
    37. t++;
    38. if(cha <= 0) break;
    39. }
    40. cout << t << endl;
    41. }
    42. return ;
    43. }
    44. int main()
    45. {
    46. IOS
    47. int _ = 1;
    48. // cin >> _;
    49. while(_ --) solve();
    50. return 0;
    51. }

    D - Merge Slimes

    链接 :

    D - Merge Slimes

    思路 : 

    hash表按照题意模拟即可;

    注意要开long long !!!

    代码 : 

    1. #include
    2. #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
    3. using namespace std;
    4. typedef long long LL;
    5. int n,ans;
    6. map mp;
    7. inline void solve(){
    8. cin>>n;
    9. for(int i=1;i<=n;i++){
    10. int s,c ; cin>>s>>c;
    11. mp[s] = c;
    12. }
    13. for(auto it : mp){
    14. ans += it.second % 2;
    15. mp[it.first * 2] += it.second /2 ;
    16. }
    17. cout << ans;
    18. }
    19. int main()
    20. {
    21. IOS
    22. int _ = 1;
    23. while(_ --) solve();
    24. return 0;
    25. }

    欢迎交流

  • 相关阅读:
    通过HTTP发送大量数据的三种方法
    windows定制ISO-可安装
    网络舆情监测是干嘛的?
    【Java核心技术12】面向对象编程(OOP):深入理解类与对象
    诊断网络卡的原因
    之前学习Python的一些笔记
    curl命令行发送post/get请求
    Banana Pi BPI-W3 ArmSoM-W3之RK3588-MIPI-DSI屏幕调试笔记
    Java应用程序安全框架
    2020年华数杯数学建模A题带相变材料的低温防护服御寒仿真模拟求解全过程文档及程序
  • 原文地址:https://blog.csdn.net/ros275229/article/details/133681030