zoukankan      html  css  js  c++  java
  • 2013年湘潭大学程序设计比赛(Internet)部分解题报告

    题目链接: http://202.197.224.59/OnlineJudge2/index.php/Contest/problems/contest_id/24

    就做了几个简单题直接上代码吧~

    A题:   Assembly Line

    View Code
     1 #include <iostream>
     2 #include <cmath>
     3 #include <cstring>
     4 #include <cstdio>
     5 #include <string>
     6 #include <stdlib.h>
     7 #include <algorithm>
     8 using namespace std;
     9 char s[1005], s1[1005];
    10 int main( )
    11 {
    12     int T;
    13     scanf( "%d", &T );
    14     while( T -- ){
    15         scanf( "%s", &s );
    16         strcpy( s1 , s);
    17         int l=strlen(s );
    18         sort( s, s+l) ;
    19         int ans=0, t=0;
    20         for( int i=0, j; i<l; ++ i ){
    21             if( s[i]!= s1[i] ){
    22                 for(  j=i+1; j<l; ++ j ){
    23                     if( s1[j]==s[i] && s[j]==s1[i] ){
    24                         ans++;
    25                         s[j]=s1[j];
    26                         break;
    27                     }    
    28                 }
    29                 if( j==l ){
    30                     t++;
    31                 }
    32             }
    33         }
    34         ans+=( t/3*2 );
    35         printf( "%d\n",  ans );
    36     }
    37     return 0;
    38 }

    B题: Bus

    View Code
     1 #include <iostream>
     2 #include <cmath>
     3 #include <cstring>
     4 #include <cstdio>
     5 #include <string>
     6 #include <stdlib.h>
     7 using namespace std;
     8 int N;
     9 char s[105];
    10 int a[26];
    11 int main( )
    12 {
    13     while( scanf("%d", &N)!= EOF ){
    14         memset( a, 0, sizeof a );
    15         int ans=0;
    16         for( int i=0; i<N; ++ i ){
    17             scanf( "%s", s);
    18             a[s[0]-'a']++;
    19             for( int i=0; i<26; ++ i ){
    20                 if(a[i]==2){
    21                     ans++;
    22                     memset(a, 0, sizeof( a ) );
    23                     break;
    24                 }
    25             }
    26                 
    27         }
    28         printf( "%d\n", ans );    
    29     } 
    30     return 0;
    31 }

    E题: Encode

    View Code
     1 #include <iostream>
     2 #include <cmath>
     3 #include <cstring>
     4 #include <cstdio>
     5 #include <string>
     6 #include <stdlib.h>
     7 using namespace std;
     8 int T; 
     9 char s[10005];
    10 int t[20], n;
    11 void fuck( int n, int m)
    12 {
    13     memset( t, 0, sizeof( t ) );
    14     int i=0;
    15     while( n ){
    16         t[i++]=n%2;
    17         n/=2;
    18     }
    19     i=5;
    20     while( m ){
    21         t[i++]=m%2;
    22         m/=2;
    23     }
    24 }
    25 void fuck2(  )
    26 {
    27     int ans=0;
    28     for( int i=7; i>=0; --i )
    29         ans*=2, ans+=t[i];
    30     printf( "%02x", ans );    
    31 }
    32 int main( )
    33 {
    34     scanf( "%d", &T );
    35     while( T -- ){
    36         scanf( "%s", s );
    37         int l=strlen( s );
    38         for( int i=0; s[i]; ++i){
    39             int n=1;
    40             while( s[i+1]&&s[i+1]==s[i] && n<8 ){
    41                 i++; n++;
    42                 puts( s+n );
    43             }
    44             fuck( s[i]-'a', n-1 );
    45             fuck2( );    
    46         }
    47         puts( "" );
    48     }
    49     return 0;
    50 }
  • 相关阅读:
    JavaScript 对象
    Java条件语句
    函数的使用注意事项:
    函数的特点
    函数的格式
    for循环
    break和continue的区别和作用
    注意事项
    CSS浮动清除的方法
    转:Oracle 中union的用法
  • 原文地址:https://www.cnblogs.com/jian1573/p/2953136.html
Copyright © 2011-2022 走看看