Проблема со списком C # при компиляции в моно (для домашних заданий)

Признаюсь, это моя домашняя работа. В заявлении говорилось, что я должен написать программу, которая находит топологический порядок графа, который будет вводиться стандартным вводом. Затем мне нужно отправить его для оценки на сервере профессора.

Теперь это не проблема алгоритма. Это скорее техническая проблема. На моем компьютере я использую компилятор .NET (csc), а в оценочной машине профессора используется некоторая форма моно.

Он работает хорошо, пока оценщик не сказал, что я получил 30/100. Один мой друг посоветовал мне использовать «систему ручного ввода» классификатора, так что я начал, я создал массив из 100000 списков для списка смежности.

Оценщик через несколько секунд сообщил, что мой программа разбилась.

Stacktrace:

at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_fast (intptr) <0x00004>
at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_fast (intptr) <0xffffffff>
at System.Exception.ToString () <0x00026>
at (wrapper runtime-invoke) object.runtime_invoke_object__this__ (object,intptr,intptr,intptr) <0xffffffff>
at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_fast (intptr) <0x00004>
at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_fast (intptr) <0xffffffff>
at System.Exception.ToString () <0x00026>
at (wrapper runtime-invoke) object.runtime_invoke_object__this__ (object,intptr,intptr,intptr) <0xffffffff>
at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_fast (intptr) <0x00004>
at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_fast (intptr) <0xffffffff>
at System.Exception.ToString () <0x00026>
at (wrapper runtime-invoke) object.runtime_invoke_object__this__ (object,intptr,intptr,intptr) <0xffffffff>
at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_fast (intptr) <0x00004>
at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_fast (intptr) <0xffffffff>
at System.Exception.ToString () <0x00026>
at (wrapper runtime-invoke) object.runtime_invoke_object__this__ (object,intptr,intptr,intptr) <0xffffffff>
at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_fast (intptr) <0x00004>
at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_fast (intptr) <0xffffffff>
at System.Exception.ToString () <0x00026>
at (wrapper runtime-invoke) object.runtime_invoke_object__this__ (object,intptr,intptr,intptr) <0xffffffff>
at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_fast (intptr) <0x00004>
at (wrapper managed-to-native) object.__icall_wrapper_mono_object_new_fast (intptr) <0xffffffff>
at System.Exception.ToString () <0x00026>
at (wrapper runtime-invoke) object.runtime_invoke

Это немного странно и тревожно для меня, но я еще не нашел ответа на этот вопрос. Опять же, эта программа отлично работала на моем ПК.

Это моя часть программы:

using System;
using System.Collections;
using System.Collections.Generic;

class topo{
public static void Main(){
    string[] ST = Console.ReadLine().Split(' ');
    int N=Convert.ToInt32(ST[0]), M=Convert.ToInt32(ST[1]);
    int[] ins = new int[N];  //node's total in-degrees
    List[] E = new List[N];

    for(int n=0;n();

    for(int m=0;m L = new List(); //result list

    for(int n=0;n0){
        int n = (int) S.Dequeue();
        L.Add(n);
        foreach(int m in E[n])
            if(--ins[m]==0)
                S.Enqueue(m);
    }

    foreach(int n in L)
        Console.WriteLine(n+1);

}

}

Большое спасибо, и я ценю любой отклик.

Редактировать: Я еще раз взглянул на оценку оценщика. вывод, чтобы увидеть, пропустил ли я что-нибудь, и я действительно пропустил. Там написано "syscal: 2", но все, что я знаю об этом, это то, что "программа не сделала" rb На странице корзины пользователь может указать количество line_items с помощью ...

У меня есть контроллер rails, определенный здесь:

https://github.com/abonec/Simple-Store/blob/master/ app / controllers / carts_controller.rb

На странице cart пользователь может указать количество line_items, разместив вложенные атрибуты. Параметры выглядят так:

{ "cart" => {
  "line_items_attributes" => {
    "0" => {
      "quantity" => "2",
      "id" => "36" } } },
  "commit" => "Update Cart",
  "authenticity_token" => "UdtQ+lchSKaHHkN2E1bEX00KcdGIekGjzGKgKfH05So=",
  "utf8"=>"\342\234\223" }

В моем действии контроллера эти параметры сохраняются следующим образом:

@cart.update_attributes(params[:cart])

Но я не знаю, как проверить это поведение в тесте. @ cart.attributes генерирует только атрибуты модели, а не вложенные атрибуты.

Как я могу проверить это поведение? Как смоделировать пост-запрос с вложенными атрибутами в моих функциональных тестах?

7
задан abonec 13 March 2011 в 09:04
поделиться