Конвертировать с C++ на C#. Джек на A380
Формулировка задачи:
#include <iostream> #include <string> #include <vector> #include <set> #include <queue> #include <map> #include <stack> #include <algorithm> #include <bitset> #include <cstring> #include <cmath> #include <cstdlib> #include <cstdio> #include <iomanip> #define F first #define S second #define ll long long #define len length() #define sqr(x) x*x #define pb push_back #define mp make_pair #define sz(x) ((int) (x).size()) #define all(x) x.begin(), x.end() #define allr(x) x.rbegin(), x.rend() #define bp(x) __builtin_popcount(x) #define INF numeric_limits<long long int>::max() #define frp freopen("input.txt", "r", stdin); freopen("output.txt", "w", stdout); #define forit(it, s) for(__typeof(s.begin()) it = s.begin(); it != s.end(); it++) const int maxn = (int)1e6; const int mod = (int)1e9 + 7; using namespace std; int StoI(string s){ int res=0; for(int i=0; i < s.len; i++){ res=res*10+(s[i]-'0'); } return res; } string s; string digit,word; int digits; main(){ cin>>s; for(int i=0; i < s.len; i++){ if(isdigit(s[i])){ while(isdigit(s[i])){ digit+=s[i]; i++; } i--; }else{ word+=s[i]; } } digits=StoI(digit); for(int i=0; i < s.len; i++){ if(digits < 3){ switch(word[i]){ case 'A':case 'a':puts("window");break; case 'D':case 'd':puts("window");break; case 'B':case 'b':puts("aisle");break; case 'C':case 'c':puts("aisle");break; } } if(digits >= 3 && digits <= 20){ switch(word[i]){ case 'A':case 'a':puts("window");break; case 'F':case 'f':puts("window");break; case 'B':case 'b':puts("aisle");break; case 'D':case 'd':puts("aisle");break; case 'E':case 'e':puts("aisle");break; case 'C':case 'c':puts("aisle");break; } } if(digits >= 21 && digits <= 65){ switch(word[i]){ case 'A':case 'a':puts("window");break; case 'K':case 'k':puts("window");break; case 'G':case 'g':puts("aisle");break; case 'D':case 'd':puts("aisle");break; case 'H':case 'h':puts("aisle");break; case 'C':case 'c':puts("aisle");break; case 'B':case 'b':puts("neither");break; case 'E':case 'e':puts("neither");break; case 'F':case 'f':puts("neither");break; case 'J':case 'j':puts("neither");break; } } if( digits > 65) puts("neither");break; } return 0; }
Решение задачи: «Конвертировать с C++ на C#. Джек на A380»
textual
Листинг программы
using System; class timus1893 { static String[] w = {"window", "neither", "aisle"}; static int[][] t = { new int [] {0,2,2,0}, new int [] {0,2,2,2,2,0}, new int [] {0,1,2,2,1,1,2,2,1,0} }; static void Main() { String i = Console.ReadLine(); int iLast = i.Length - 1; int n = Int32.Parse(i.Remove(iLast)); int m = Convert.ToByte(i[iLast]) - Convert.ToByte('A'); if (m > Convert.ToByte('I') - Convert.ToByte('A')) m--; if (n < 3) Console.WriteLine(w[t[0][m]]); else if (n < 21) Console.WriteLine(w[t[1][m]]); else Console.WriteLine(w[t[2][m]]); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д