Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Program
- {
- static void Main(string[] args)
- {
- var reg = new Register();
- bool perform = false;
- foreach(var line in Properties.Resources.TextFile1.Split('\n'))
- {
- var tabs = line.Trim().Split(' ');
- switch (tabs[5])
- {
- case "<=": perform = reg[tabs[4]] <= int.Parse(tabs[6]); break;
- case ">=": perform = reg[tabs[4]] >= int.Parse(tabs[6]); break;
- case "==": perform = reg[tabs[4]] == int.Parse(tabs[6]); break;
- case "<": perform = reg[tabs[4]] < int.Parse(tabs[6]); break;
- case ">": perform = reg[tabs[4]] > int.Parse(tabs[6]); break;
- case "!=": perform = reg[tabs[4]] != int.Parse(tabs[6]); break;
- default: throw new NotImplementedException();
- }
- if (perform && tabs[1] == "inc") reg[tabs[0]] += int.Parse(tabs[2]);
- else if (perform && tabs[1] == "dec") reg[tabs[0]] -= int.Parse(tabs[2]);
- }
- var answerA = reg.answerA;
- var answerB = reg.answerB;
- }
- public class Register
- {
- private Dictionary<string, int> dic = new Dictionary<string, int>();
- public int this[string index]
- {
- get
- {
- if (!dic.ContainsKey(index))
- dic.Add(index, 0);
- return dic[index];
- }
- set
- {
- if (!dic.ContainsKey(index))
- dic.Add(index, 0);
- this.dic[index] = value;
- answerB = Math.Max(this.answerB, value);
- }
- }
- public int answerA => dic.Max(x => x.Value);
- public int answerB { get; private set; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement