zoukankan      html  css  js  c++  java
  • Educational Codeforces Round 12 B C题、

    B. Shopping

    题意:n个顾客,每个顾客要买m个物品,商场总共有k个物品,看hint就只知道pos(x)怎么算了,对于每一个Aij在k个物品中找到Aij的位置、然后加上这个位置对于的数值,然后再将这个Aij放在物品首端去、

    思路:直接暴力

    PS:开始写二分找写残了、半小时都在调,说实话我也够傻,想想也知道这题暴力肯定可以过,还硬要去调试二分

     1 #include<cmath>
     2 #include<cstring>
     3 #include<iostream>
     4 #include<cstdio>
     5 using namespace std;
     6 int num[105];
     7 int main()
     8 {
     9     int n,m,k;
    10     scanf("%d%d%d",&n,&m,&k);
    11     for(int i=1;i<=k;++i)
    12         scanf("%d",&num[i]);
    13     int sum=0;
    14     for(int i=1;i<=n;++i){
    15         int ans;
    16         for(int j=1;j<=m;++j){
    17             scanf("%d",&ans);
    18             for(int c=1;c<=k;++c){
    19                 if(num[c]==ans){
    20                     sum+=c;    
    21                     for(int l=c;l>1;--l)
    22                         num[l]=num[l-1];
    23                     num[1]=ans;
    24                     break;
    25                 }
    26             }
    27             //printf("%d
    ",cor);
    28         //    for(int c=1;c<=k;++c)
    29         //        printf("%d ",num[c]);
    30         //        printf("
    ");
    31         }
    32     }    
    33     printf("%d
    ",sum);
    34     return 0;
    35 }

    C. Simple Strings

    题意:就是要找一个简单串,简单串中相邻的字符都不相等,现在给你一个串,要你在最少的操作次数上修改这个串然后输出

    思路:也就是要找所给串中连续相等的字符,进行最小次操作满足简单串的定义,对于连续两个字符aa我们只需要改其中一个就可以了,对于aaa我们只需要改第二个字符就可以了,aaaa呢?就需要改2个字符了,位置改1,3或者2,4都行,aaaaa呢?同样两次但改的位置只能是2,4,那么就可以断定,每两个连续且相等的字符,我们只需要对其后一个进行修改,使其相对于自己两边都不相等就可以了。

    PS:CF的测试数据都过了,hack时间也过了,如果有错的话希望指出

     1 #include<cstdio>
     2 #include<algorithm>
     3 #include<cstring>
     4 const int qq=300000;
     5 char s[qq],s2[qq];
     6 int main()
     7 {
     8     scanf("%s",s);
     9     int len=strlen(s);
    10     for(int i=0;i<len-1;++i){
    11         if(s[i]==s[i+1]){
    12             for(char j='a';j<='z';++j)
    13                 if(j!=s[i]&&j!=s[i+2]){
    14                     s[i+1]=j;
    15                     break;
    16                 }        
    17         }
    18     }
    19     printf("%s",s);
    20     return 0;
    21 }
  • 相关阅读:
    GUI编程笔记(java)02:java.awt和java.swing包的区别
    GUI编程笔记(java)01:GUI和CLI
    Android(java)学习笔记138:三重for循环的优化(Java面试题)
    Android(java)学习笔记137:ListView编写步骤(重点)
    Android(java)学习笔记136:利用谷歌API对数据库增删改查(推荐使用)
    Android(java)学习笔记135:SQLite数据库(表)的创建 以及 SQLite数据库的升级
    spring ioc 注解配置
    代码简洁之道与重构
    快速定位到方法的被调用处
    spring ioc xml配置
  • 原文地址:https://www.cnblogs.com/sasuke-/p/5416906.html
Copyright © 2011-2022 走看看