using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args)
{
string str;
str = Console.ReadLine();
var t = int.Parse(str);
List<int> nums = new List<int>(t);
for (var i = 0; i < t; ++i)
{
str = Console.ReadLine();
nums.Add(int.Parse(str));
}
nums.ForEach(n =>
{
char[] ss = n.ToString().ToCharArray();
List<int> result = new List<int>();
GetAllRange(ref ss, 0, ref result);
bool possible = false;
//Console.WriteLine(result.Count);
foreach (var i in result)
{
//Console.WriteLine($"{i} mod {n} = {i % n}");
if (i != n && i % n == 0)
{
possible = true;
break;
}
};
if (possible)
{
Console.WriteLine("Possible");
}
else
{
Console.WriteLine("Impossible");
}
});
Console.ReadKey();
}
static void GetAllRange(ref char[] ss, int k, ref List<int> result)
{
if (k == ss.Length)
{
string s = new string(ss);
result.Add(int.Parse(s));
}
else
{
for (int i = k; i < ss.Length; i++)
{
Swap(ref ss, k, i);
GetAllRange(ref ss, k + 1, ref result);
Swap(ref ss, k, i);
}
}
}
static void Swap(ref char[] ss, int k, int i)
{
char temp = ss[k];
ss[k] = ss[i];
ss[i] = temp;
}
}
第一题通过率倒是100%