着实无趣

2012-04-12 20:51

省赛前各种不安。。。

这几天拉肚子拉死我了。。。
肚子每隔半个小时就开始疼半个小时。。。。
然后,在我顽强的意志力的作用下,我逛了一个小时的百度。。。(是的,你没听错,你没看错,我就傻逼一样的点开百度首页,关掉,再点开,再关掉,然后就死循环了。。)
随即点开了hdu的网站达10余次之多,无意偶然之间看到一题让我眼前一亮的题目,。。
然后就开始逛那题所给的贴吧了。。。开了半个多小时后,终于动手敲那题。。。
好吧,最后的最后,我完成了我的程序,但是,没有AC,但是我的任务完成了。。。
好吧,其实我就是看了那贴吧的内容后决定帮里面的那个女生写了个程序,免得他以后考他的BF什么的还要拿笔在那边算。。。。
呃。。他不用感谢我的。。
03173729262538191738243943181332352063943304108109494720537163629163810330410537404103272032634142534306392628153410338394920041043

03231410318172041041216343920538109443926283330

042436374725307294810810410720410330410810319474814100740639443031815394333332926273729262815381081

附上代码:

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;
char ori[1000], des[1000];
char qwe[] = "QWERTYUIOPASDFGHJKLZXCVBNM";
char abc[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int pn[] = {21, 22, 23, 31, 32, 33, 41, 42, 43, 51, 52, 53, 61, 62, 63, 71, 72, 73, 74, 81, 82, 83, 91, 92, 93, 94, 0};
int len;

int getT(char c) {
    int i, len = strlen(abc);
    for (i = 0; i < len; i++) {
        if (abc[i] == c) {
            return pn[i];
        }
    }
    return pn[i];
}

void fence() {
    int i, j;
    for (i = 0; i < len; i++) {
        des[i] = ori[i];
    }
    for (i = 0, j = 0; i < len; i += 2, j++) {
        ori[j] = des[i];
    }
    for (i = 1; i < len; i += 2, j++) {
        ori[j] = des[i];
    }
}

void reserve() {
    int i, j;
    for (i = 0; i < len; i++) {
        des[i] = ori[i];
    }
    for (i = 0, j = len - 1; i < len; i++, j--) {
        ori[j] = des[i];
    }
}

void Print() {
    int i;
    char c;
    for (i = 0; i < len; i++) {
        if (!isupper(ori[i])) {
            c = ' ';
        } else {
            c = qwe[ori[i] - 'A'];
        }
        cout << getT(c);
    }
    cout << endl;
}

int main() {
    while (gets(ori)) {
        len = strlen(ori);
        strupr(ori);
        reserve();
        fence();
        Print();
    }
    return 0;
}






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值