农民约翰有N头奶牛(1≤N≤20),高度a[1]…a[N]。
他的谷仓有N个摊位最大高度限制b[1]…b[N] (例如,如果b[5] = 17,一头身高不超过17的奶牛可以住在第五摊位)。那么请问农民约翰一共有多少种不同的方式来安排他的奶牛使每头奶牛都在不同的牛栏里,从而满足每个牛栏的高度限制呢?
输入格式(输入来自终端/标准输入):
第一行包含N,第二行包含N个以空格分隔的整数a[1],a[2],…,a[N]。
第三行包含N个以空格分隔的整数b[1],b[2],…,b[N]。
所有的高度和限制都在范围[1109]内。
输出格式(打印输出到终端/标准输出):
在满足每个牛栏高度限制的情况下,农民约翰可以将每头牛放入不同牛栏的方式数量。
注意,较大的输出可能需要使用64位整数,就像c++中的“long long”。
样例输入:
4
1 2 3 4
2 4 3 4
样例输出:
8
在这个例子中,由于3=a[3]>b[1]=2,我们不能把第三头奶牛放在第一个栏。
同样,我们也不能把第四头奶牛放在第一或第三个牛栏里。
满足高度限制的一种方法是,将1号奶牛分配到1号畜栏,将2号奶牛分配到2号畜栏,将3号奶牛分配到3号畜栏,将4号奶牛分配到4号畜栏。
请教大佬的思路和AC代码,谢谢。
作者:AcWing
链接:https://www.acwing.com/community/content/621395/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
他的谷仓有N个摊位最大高度限制b[1]…b[N] (例如,如果b[5] = 17,一头身高不超过17的奶牛可以住在第五摊位)。那么请问农民约翰一共有多少种不同的方式来安排他的奶牛使每头奶牛都在不同的牛栏里,从而满足每个牛栏的高度限制呢?
输入格式(输入来自终端/标准输入):
第一行包含N,第二行包含N个以空格分隔的整数a[1],a[2],…,a[N]。
第三行包含N个以空格分隔的整数b[1],b[2],…,b[N]。
所有的高度和限制都在范围[1109]内。
输出格式(打印输出到终端/标准输出):
在满足每个牛栏高度限制的情况下,农民约翰可以将每头牛放入不同牛栏的方式数量。
注意,较大的输出可能需要使用64位整数,就像c++中的“long long”。
样例输入:
4
1 2 3 4
2 4 3 4
样例输出:
8
在这个例子中,由于3=a[3]>b[1]=2,我们不能把第三头奶牛放在第一个栏。
同样,我们也不能把第四头奶牛放在第一或第三个牛栏里。
满足高度限制的一种方法是,将1号奶牛分配到1号畜栏,将2号奶牛分配到2号畜栏,将3号奶牛分配到3号畜栏,将4号奶牛分配到4号畜栏。
请教大佬的思路和AC代码,谢谢。
作者:AcWing
链接:https://www.acwing.com/community/content/621395/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。