[ACM]Q245: Uncompress
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
namespace Q245
{
class Program
{
static private string sr = "";
static void Main(string[] args)
{
for (; ; )
{
Console.Write("input>>>");
string str = Console.ReadLine();
//string str = "Dear Sally, Please, please do it--1 would 4 Mary very, 1 much."+
//"And 4 6 8 everything in 5's power to make 14 pay off for you. -- Thank 2 18 18--";
str = str.Replace(",", " , ").Replace(".", " . ").Replace("-", " - ").Replace("'", " ' ");
char[] par = { ' ' };
string[] sarr = str.Split(par, StringSplitOptions.RemoveEmptyEntries);
ArrayList lst = new ArrayList();
for (int i = 0; i < sarr.Length; i++)
{
int k;
bool tof = int.TryParse(sarr[i], out k);
if (tof)
{
sr += " " + lst[k - 1];
string temp = lst[k - 1].ToString();
lst.Remove(temp);
lst.Insert(0, temp);
}
else
{
if (lst.Count == 0)
{
lst.Insert(0, sarr[i]);
sr += sarr[i];
}
else
{
if (sarr[i] != "," && sarr[i] != "." && sarr[i] != "-" && sarr[i] != "'")
for (int j = 0; j < lst.Count; j++)
{
if (sarr[i] != lst[j].ToString())
{
if (j == lst.Count - 1)
{
lst.Insert(0, sarr[i]);
sr = sr + " " + sarr[i];
break;
}
else
{
continue;
}
}
else
{
lst.Remove(sarr[i]);
lst.Insert(0, sarr[i]);
sr += " " + sarr[i];
break;
}
}
else
{
sr += sarr[i];
}
}
}
}
Console.WriteLine(sr);
//Console.ReadLine();
}
}
}
}