程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> cf#168div2

cf#168div2

編輯:C++入門知識

[cpp]    /*    A 題,題意: 要你求一系列操作後,燈的最後狀態   解析:前後左右加本身的和,判斷奇偶就行了。。     */    #include   #include   #include   #define manx 4   using namespace std;   int x[manx][manx],s[manx][manx];      int main(){       for(int i=1;i<=3;i++){           for(int j=1;j<=3;j++){               cin>>x[i][j];               s[i][j]=0;           }       }       for(int i=1;i<=3;i++){///行            for(int j=1;j<=3;j++){///列                s[i][j] += x[i][j];                if(j-1>=1) s[i][j]+=x[i][j-1];               if(j+1<=3) s[i][j]+=x[i][j+1];               if(i-1>=1) s[i][j]+=x[i-1][j];               if(i+1<=3) s[i][j]+=x[i+1][j];           }       }       for(int i=1;i<=3;i++){           for(int j=1;j<=3;j++){               if(s[i][j]%2) cout<<"0";               else cout<<"1";            }           cout<     }   }      /*    1 0 1  8 8 8  2 0 3    */     [cpp]   /*    C題,題意:要你求可以組成集合的元素的最大個數   解析:主要考察 set 的用法, 插入的是元素 ,查找的是位置   時間 復雜度為 n*lgn      */     #include   #include    #include   #include   using namespace std;   #define manx 100009      __int64 x[manx];      int main(){       int n,k;       multiset<__int64>set;       while(cin>>n>>k){           set.clear();           for(int i=1;i<=n;i++){               scanf("%I64d",&x[i]);               set.insert(x[i]);           }           int sum=0;           while(!set.empty()){               __int64 ans = *set.begin(); ///注意數據類型                set.erase(ans);               if(set.find(ans*k)!=set.end()){//若找到,返回該鍵值迭代器的位置,否則,返回最後一個元素後面一個位置                  set.erase(ans*k);                                 sum++;                  continue;               }  www.2cto.com             sum++;           }           cout<     }   }   /*    6 2  2 3 6 5 4 10    10 2  1 2 3 4 5 6 7 8 9 10    */  

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved