UVA-10152 ShellSort


クリックしてリンクを開く
最初のシリーズとターゲットシーケンスを与えて、最初のシーケンスから目標シーケンスになる回数を求めます.
亀は現在の位置から桟の頂上まで登らなければなりません.
大きいものから小さいものまで、最初のシーケンスの番号がターゲットのシーケンスより大きいものを探し出して出力すればいいです.
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
//#include 
#include 
#include 

#define CL(arr, val)    memset(arr, val, sizeof(arr))

#define ll long long
#define inf 0x7f7f7f7f
#define lc l,m,rt<<1
#define rc m + 1,r,rt<<1|1
#define pi acos(-1.0)

#define L(x)    (x) << 1
#define R(x)    (x) << 1 | 1
#define MID(l, r)   (l + r) >> 1
#define Min(x, y)   (x) < (y) ? (x) : (y)
#define Max(x, y)   (x) < (y) ? (y) : (x)
#define E(x)        (1 << (x))
#define iabs(x)     (x) < 0 ? -(x) : (x)
#define OUT(x)  printf("%I64d
", x) #define lowbit(x) (x)&(-x) #define Read() freopen("a.txt", "r", stdin) #define Write() freopen("dout.txt", "w", stdout); #define N 100005 using namespace std; int main() { // Read(); int t,n,i,j; string s1[250],s2[250]; cin>>t; while(t--) { cin>>n; cin.get(); for(i=0;i=0;i--) { if(s1[i]==s2[j]) j--; } for(i=j;i>=0;i--) cout<