zoukankan      html  css  js  c++  java
  • 202006 csp认证

    -1.

    #include<iostream>
    #include<vector>
    using namespace std;
    int n;
    int m;
    class Point{
    public:
        int x;
        int y;
        char flag;
    };
    class Linear{
    public:
        int c;
        int a;
        int b;
    };
    //检查是否在一边
    int isSame1(Point p1,Point p2,Linear l1){
    if(l1.a*p1.x+l1.c>-l1.b*p1.y&&l1.a*p2.x+l1.c>-l1.b*p2.y) return 1;
    else if(l1.a*p1.x+l1.c<-l1.b*p1.y&&l1.a*p2.x+l1.c<-l1.b*p2.y) return 1;
    else   return 0;
    }
    //检查类别是否相同
    int isSame2(Point p1,Point p2){
        if(p1.flag==p2.flag) return 1;
        return 0;
    }
    int main(){
    cin>>n>>m;
    vector<Point> v1;
    vector<Linear> v2;
    
    //输入
    for(int i=0;i<n;i++){
        int x,y;
        char flag;
        cin>>x>>y>>flag;
        Point p={x,y,flag};
        v1.push_back(p);
    }
    for(int i=0;i<m;i++){
        int c,a,b;
        cin>>c>>a>>b;
        Linear l = {c,a,b};
        v2.push_back(l);
    
    }
    //检查两点之间的关系
    for(int j=0;j<m;j++){
        int flag = 1;
        //标记分类是否正确
        for(int i=0;i<n;i++){
                for(int k=i+1;k<n;k++){
                    if(isSame1(v1[i],v1[k],v2[j])){
                     if(!isSame2(v1[i],v1[k])) {
                               flag = 0;
                        }
                    }
                }
    
      }
      if(flag) cout<<"Yes"<<endl;
      else cout<<"No"<<endl;
     }
     return 0;
    }
    
    • 2

    #include<iostream>
    #include<iterator>
    #include<map>
    using namespace std;
    long long ans = 0;
    int n;
    //维数
    int a;
    //第一个向量非零元素个数
    int b;
    //第二个向量非零元素个数
    int main(){
        cin>>n>>a>>b;
      map<int,long> v1;
      map<int,long> v2;
      for(int i=0;i<a;i++){
        int value;
       int key;
        cin>>key>>value;
        v1[key]=value;
      }
        for(int i=0;i<b;i++){
        int value;
       int key;
        cin>>key>>value;
        v2[key]=value;
      }
      map<int,long>::iterator it = v1.begin();
      for(;it!=v1.end();it++){
        if(v2.find(it->first)!=v2.end()){
            ans+=v2[it->first]*v1[it->first];
        }
      }
    
       cout<<ans;
       return 0;
    }
    
    ljm要加油
  • 相关阅读:
    流程控制之if判断
    各种运算符
    输入和输出
    垃圾回收机制(详细)
    3/5 作业
    3/4 作业
    数据类型
    变量
    Checkout 显示 URL /../../.. 不存在
    Tomcat8 访问 manager App 失败
  • 原文地址:https://www.cnblogs.com/ljmmm1/p/15611934.html
Copyright © 2011-2022 走看看