febsee
BAN USERusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Akatsuki
{
class Program
{
class MessageStack
{
private Stack<char> charStack;
public void PrintMessage()
{
char c;
while (charStack.Count > 0)
{
c = charStack.Pop();
Console.Write(c);
}
}
public void AddMessage(string Message)
{
var x = Message.ToCharArray();
charStack.Push('\n');
for (int i = 0; i < x.Length; i++)
{
charStack.Push(x[i]);
}
}
public MessageStack()
{
charStack = new Stack<char>();
}
}
static void Main(string[] args)
{
var msg = new MessageStack();
msg.AddMessage("XWV");
msg.AddMessage("UTS");
msg.AddMessage("RQP");
msg.PrintMessage();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DigitsToLet
{
class DigMap
{
private Dictionary<int, List<char>> Map;
public void PrintMap(string digit, string prefix)
{
if (digit.Length == 0)
{
Console.WriteLine(prefix);
return;
}
int index = digit.ToCharArray()[0] - '0';
foreach (char c in Map[index])
{
PrintMap(digit.Substring(1), prefix + c);
}
}
public DigMap()
{
Map = new Dictionary<int, List<char>>();
Map.Add(0, new List<char> { 'z', 'a', 'q', 'x', 's', 'w' });
Map.Add(1, new List<char> { 'c', 'd', 'e' });
Map.Add(2, new List<char>() { 'v', 'f', 'r' });
Map.Add(3, new List<char>() { 'b', 'g', 't' });
}
}
class Program
{
static void Main(string[] args)
{
var digMap = new DigMap();
string str = string.Empty;
int num = 1230;
digMap.PrintMap(num.ToString(), str);
Console.Read();
}
}
}
Recursive with memoization for backtracking/pruning trees.
- febsee November 12, 2013