static ProblemParams parse(string s, StreamReader r) { ProblemParams result = new ProblemParams(); string[] sp = s.Split(' '); int n = Convert.ToInt32(sp[0]); result.Tribes = new Tribe[n]; for (int i = 0; i < n; i++) { s = r.ReadLine(); Tribe t = new Tribe(); string[] ssp = s.Split(' '); t.d = Convert.ToInt32(ssp[0]); t.n = Convert.ToInt32(ssp[1]); t.w = Convert.ToInt32(ssp[2]); t.e = Convert.ToInt32(ssp[3]); t.s = Convert.ToInt32(ssp[4]); t.dd = Convert.ToInt32(ssp[5]); t.dp = Convert.ToInt32(ssp[6]); t.ds = Convert.ToInt32(ssp[7]); t.id = i; result.Tribes[i] = t; } return(result); }
public async Task <IActionResult> GetProblemsMy(int id, [FromQuery] ProblemParams problemParams) { var problems = await _repo.GetProblemsMy(id, problemParams); var problemsToReturn = _mapper.Map <IEnumerable <ProblemForListDto> >(problems); Response.AddPagination(problems.CurrentPage, problems.PageSize, problems.TotalCount, problems.TotalPages); return(Ok(problemsToReturn)); }
static int calc(ProblemParams param) { var wall = new int[500]; int result = 0; do { var tribes = getAttack(param.Tribes); if (tribes.Length == 0) { break; } foreach (var t in tribes) { bool isSuccess = false; int kw = t.w * 2 + 200; int ke = t.e * 2 + 200; for (int k = kw; k <= ke; k++) { if (wall[k] < t.s) { // Console.WriteLine("Success:{0} on day {1} @ {2} s= {3} w={4}", t.id, t.d, k, t.s, wall[k]); isSuccess = true; result++; break; } } // if (!isSuccess) Console.WriteLine("Fail:{0} on day {1}", t.id, t.d); } foreach (var t in tribes) { int kw = t.w * 2 + 200; int ke = t.e * 2 + 200; // Console.WriteLine("Raising wall: {0} from {1} to {2}", t.s, kw, ke); for (int k = kw; k <= ke; k++) { wall[k] = wall[k] < t.s ? t.s : wall[k]; } t.Attack(); } } while (true); return(result); }
public async Task <PagedList <Problem> > GetProblems(ProblemParams problemParams) { var problems = _context.Problems.Include(p => p.Photos) .OrderByDescending(p => p.TimeHappened).AsQueryable(); if (problemParams.UserId != 0) { problems = problems.Where(p => p.UserId == problemParams.UserId); } if (!string.IsNullOrEmpty(problemParams.Type) && problemParams.Type != "none") { problems = problems.Where(p => p.Type == problemParams.Type); } if (problemParams.MinDegree != 1 || problemParams.MaxDegree != 10) { problems = problems.Where(p => p.Degree >= problemParams.MinDegree && p.Degree <= problemParams.MaxDegree); } if (!string.IsNullOrEmpty(problemParams.OrderBy)) { switch (problemParams.OrderBy) { case "created": problems = problems.OrderByDescending(p => p.Created); break; default: problems = problems.OrderByDescending(p => p.TimeHappened); break; } } return(await PagedList <Problem> .CreateAsync(problems, problemParams.PageNumber, problemParams.PageSize)); }
public async Task <PagedList <Problem> > GetProblemsMy(int id, ProblemParams problemParams) { var problems = _context.Problems.Include(p => p.Photos).Where(p => p.UserId == id); return(await PagedList <Problem> .CreateAsync(problems, problemParams.PageNumber, problemParams.PageSize)); }