小编roc*_*ock的帖子

优化这个C#算法

这是一个算法问题,我有解决方案,但它有性能问题.

问题描述

有n个变量和m个要求.需求表示为(x <= y),这意味着第x个变量必须小于或等于第y个变量.为每个变量分配小于10的非负数.请计算符合所有要求的不同分配数量.当且仅当在这两个分配中为至少一个变量分配不同的数字时,两个分配是不同的.通过1007模块化答案.

输入格式:

输入的第一行包含两个整数n和m.然后跟随m行,每行包含2个空格分隔的整数x和y,这意味着需求(x <= y).

输出格式:

将答案输出一行.

约束:

0 <n <14

0 <m <200

0 <= x,y <n

样本输入:

6 7

1 3

0 1

2 4

0 4

2 5

3 4

0 2

样本输出:

1000

以下是我的解决方案.当n = 13且m = 199时,获得结果需要太长时间,但可接受的时间是5秒.

那么有谁能想到更好的方法来进一步优化这个?谢谢.

我目前的解决方案

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication81
{
    class Program
    {
        const int N = 10;
        static List<Condition> condition = new List<Condition>();
        static void Main(string[] args) …
Run Code Online (Sandbox Code Playgroud)

c# algorithm

11
推荐指数
1
解决办法
717
查看次数

标签 统计

algorithm ×1

c# ×1