zoukankan      html  css  js  c++  java
  • Codeforces Round #224 (Div. 2) 解题报告

    Problem A Coder

    题意:水题

    代码如下:

     1 //2014-01-20-23.26
     2 #include <iostream>
     3 #include <cstdio>
     4 #include <cstdlib>
     5 #include <cmath>
     6 #include <cstring>
     7 #include <algorithm>
     8 #include <queue>
     9 #include <stack>
    10 #include <vector>
    11 #define MP(a, b) make_pair(a, b)
    12 #define PB(a) push_back(a)
    13 
    14 using namespace std;
    15 
    16 typedef long long ll;
    17 typedef pair<int ,int> pii;
    18 typedef pair<unsigned int, unsigned int> puu;
    19 typedef pair<int ,double> pid;
    20 typedef pair<ll, int> pli;
    21 
    22 const int INF = 0x3f3f3f3f;
    23 const double eps = 1e-6;
    24 const int LEN = 1010;
    25 int Map[LEN][LEN];
    26 int ans;
    27 
    28 int main()
    29 {
    30 //    freopen("in.txt", "r", stdin);
    31 
    32     int n;
    33     while(scanf("%d", &n)!=EOF){
    34         memset(Map, 0, sizeof Map);
    35         ans = 0;
    36         for(int i=1; i<=n; i++){
    37             int f = i%2;
    38             for(int j=1; j<=n; j++){
    39                 Map[i][j] = f;
    40                 ans += f;
    41                 f = !f;
    42             }
    43         }
    44         printf("%d
    ", ans);
    45         for(int i=1; i<=n; i++){
    46             for(int j=1; j<=n; j++){
    47                 if(Map[i][j])printf("C");
    48                 else printf(".");
    49             }printf("
    ");
    50         }
    51         printf("
    ");
    52     }
    53     return 0;
    54 }
    View Code

    Problem B Multitasking

    题意:对n个数组排序 每个长度都为n,让你输出一个序列(i,j)当i>j时才交换每个数组中的i,j号元素。

    思路:这道题我十分二的,用了冒泡排序还去判断什么的。其实只要不管怎么样都交换m*(m-1)/2次就好了。

    二B代码:

     1 //2014-01-20-23.26
     2 #include <iostream>
     3 #include <cstdio>
     4 #include <cstdlib>
     5 #include <cmath>
     6 #include <cstring>
     7 #include <algorithm>
     8 #include <queue>
     9 #include <stack>
    10 #include <vector>
    11 #define MP(a, b) make_pair(a, b)
    12 #define PB(a) push_back(a)
    13 
    14 using namespace std;
    15 
    16 typedef long long ll;
    17 typedef pair<int ,int> pii;
    18 typedef pair<unsigned int, unsigned int> puu;
    19 typedef pair<int ,double> pid;
    20 typedef pair<ll, int> pli;
    21 
    22 const int INF = 0x3f3f3f3f;
    23 const double eps = 1e-6;
    24 const int LEN = 1010;
    25 int ary[LEN][LEN], n, m;
    26 
    27 int main()
    28 {
    29 //    freopen("in.txt", "r", stdin);
    30 
    31     int order;
    32 
    33     while(scanf("%d%d%d", &n, &m, &order)!=EOF){
    34         for(int i=0; i<n; i++){
    35             for(int j=0; j<m; j++){
    36                 scanf("%d", &ary[i][j]);
    37             }
    38         }
    39         int ans = 0;
    40         queue<pii> q;
    41         for(int i=m-1; i>=0; i--){
    42             for(int j=0; j<i; j++){
    43                 int f = 0;
    44                 for(int k=0; k<n; k++){
    45                     if(order){
    46                         if(ary[k][j]<ary[k][j+1]){
    47                             swap(ary[k][j], ary[k][j+1]);
    48                             f = 1;
    49                         }
    50                     }else {
    51                         if(ary[k][j]>ary[k][j+1]){
    52                             swap(ary[k][j], ary[k][j+1]);
    53                             f = 1;
    54                         }
    55                     }
    56                 }
    57                 if(f) {
    58                     if(order==0)q.push(MP(j,j+1));
    59                     else q.push(MP(j+1,j));
    60                 }
    61                 ans+=f;
    62             }
    63         }
    64         printf("%d
    ", ans);
    65         while(!q.empty()){
    66             pii nv = q.front(); q.pop();
    67             printf("%d %d
    ", nv.first+1, nv.second+1);
    68         }
    69     }
    70     return 0;
    71 }
    View Code

    高神的正确姿势:

     1 #include <iostream>
     2 #include <sstream>
     3 #include <iomanip>
     4 #include <functional>
     5 #include <algorithm>
     6 #include <vector>
     7 #include <string>
     8 #include <list>
     9 #include <queue>
    10 #include <deque>
    11 #include <stack>
    12 #include <set>
    13 #include <map>
    14 #include <cstdio>
    15 #include <cstdlib>
    16 #include <cmath>
    17 #include <cstring>
    18 #include <climits>
    19 using namespace std;
    20 #define XINF INT_MAX
    21 #define INF 0x3FFFFFFF
    22 #define MP(X,Y) make_pair(X,Y)
    23 #define PB(X,Y) push_back(X,Y)
    24 #define REP(X,N) for(int X=0;X<N;X++)
    25 typedef pair<int,int> pii;
    26 typedef vector<int> vi;
    27 typedef long long ll;
    28 
    29 
    30 int a[1000][100];
    31 int main()
    32 {
    33     int n,m,k;
    34     while(cin>>n>>m>>k)
    35     {
    36         for(int i = 0; i < n; i++)
    37         for(int j = 0; j < m; j++)
    38             cin>>a[i][j];
    39         //if(k==0) //ascending
    40         cout<<m*(m-1)/2<<endl;
    41         for(int i = 0; i < m; i++)
    42         for(int j = 0; j < m-i-1; j++)
    43         {
    44             if(k==0)
    45                 cout<<j+1<<' '<<j+2<<endl;
    46             else
    47                 cout<<j+2<<' '<<j+1<<endl;
    48         }
    49     }
    50     return 0;
    51 }
    View Code

    Problem C Milking cows

    题意:一列牛1为头向右看的0为头向左看的。在一个牛被喂奶的时候有没喂过奶的牛看见会浪费一单元奶。问最少浪费多少单元奶?

    思路:贪心先把朝一个方向的牛喂光,这样剩下来的就没有花费了。

    代码如下:

     1 //2014-01-20-23.26
     2 #include <iostream>
     3 #include <cstdio>
     4 #include <cstring>
     5 #include <algorithm>
     6 #include <queue>
     7 #include <stack>
     8 #include <vector>
     9 #define MP(a, b) make_pair(a, b)
    10 #define PB(a) push_back(a)
    11 
    12 using namespace std;
    13 
    14 typedef long long ll;
    15 typedef pair<int ,int> pii;
    16 typedef pair<unsigned int, unsigned int> puu;
    17 typedef pair<int ,double> pid;
    18 typedef pair<ll, int> pli;
    19 
    20 const int INF = 0x3f3f3f3f;
    21 const double eps = 1e-6;
    22 const int LEN = 201010;
    23 
    24 int main()
    25 {
    26 //    freopen("in.txt", "r", stdin);
    27 
    28     int n, tt;
    29     ll sum, ans;
    30     while(scanf("%d",&n)!=EOF){
    31         ans = sum = 0;
    32         for(int i=1; i<=n; i++){
    33             scanf("%d", &tt);
    34             if(tt)sum += tt;
    35             else ans+=sum;
    36         }
    37         printf("%I64d
    ", ans);
    38     }
    39     return 0;
    40 }
    View Code
    奔跑吧!少年!趁着你还年轻
  • 相关阅读:
    51keil编译器printf函数
    asp.net里登陆记住密码
    Asp.net GridView分页
    DataTable拆分分页
    ASP.NET MVC 窗体身份验证及角色权限治理示例
    asp.net获取IP地址
    Asp.net Ajax框架教程
    将页面的ViewState放在Session
    20个Jquery表单插件
    前端下载图片的N种方法
  • 原文地址:https://www.cnblogs.com/shu-xiaohao/p/3527721.html
Copyright © 2011-2022 走看看