poj 1107 --W's Cipher
2010-12-04 23:45
295 查看
这道题主要是计算下标需要注意,这点上合循环队列很相似,(i+k1)%length求出相对位置。
// W's Cipher.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include<iostream> #include<fstream> #include<string> #include<vector> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { ifstream cin("d://1.txt"); int k1,k2,k3; char res[100]; int i,j; string s; int pos; vector<int>v1,v2,v3; while(cin>>k1>>k2>>k3){ if(k1==0&&k2==0&&k3==0) break; cin>>s; v1.clear(); v2.clear(); v3.clear(); for(i=0;i!=s.size();i++){ if(s[i]>='a'&&s[i]<='i') v1.push_back(i); else if(s[i]>='j'&&s[i]<='r') v2.push_back(i); else v3.push_back(i); } for(i=0;i!=v1.size();i++){ pos=(i+k1)%v1.size(); res[v1[pos]]=s[v1[i]]; } for(i=0;i!=v2.size();i++){ pos=(i+k2)%v2.size(); res[v2[pos]]=s[v2[i]]; } for(i=0;i!=v3.size();i++){ pos=(i+k3)%v3.size(); res[v3[pos]]=s[v3[i]]; } res[s.length()]=0; cout<<res<<endl; } system("pause"); return 0; }
相关文章推荐
- POJ - 1107 W&#39;s Cipher
- POJ 1107:W's Cipher(模拟)
- acm pku 1107 W's Cipher的具体实现方法
- POJ 2909 Goldbach's Conjecture (求x=p1+p2)
- POJ 2451 Uyuw's Concert 半平面交O(nlogn)
- POJ 2965 The Pilots Brothers' refrigerator(反转)
- POJ1659 Frogs' Neighborhood
- Hdu 1829 A Bug's Life && Poj 1182 食物链 (并查集偏移量的应用)
- POJ-2528 Mayor's posters 线段树+离散
- POJ 2449 Remmarguts' Date k短路
- [2-SAT] poj 3207 Ikki's Story IV - Panda's Trick
- poj 2411——Mondriaan's Dream
- poj 2645-Boastin' Red Socks-算组合
- poj 3422:Kaka's Matrix Travels(最小费用最大流)
- POJ 2449 Remmarguts' Date(k短路)
- poj 1041 John's trip
- poj 2528 Mayor's posters
- POJ1041 John's trip(欧拉回路 + 并查集 + dfs)
- poj 2492 A Bug's Life(带权并查集)
- POJ 2909 Goldbach's Conjecture