A,B,J三题较为水,算是一眼题了
C. Pen Counts
题意:用1--n之间的数组成符合题意的三角形(每个数只能用一次),求三角形的个数。
经过统计,如果三条边的值完全不同,三角形个数+2,否则三角形个数+1,然后用过的三条边,就不能再用了。所以直接暴力找,中间弄点剪枝就能过了。
#include <cstdio>
#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
int main() {
int T,ca,n;
scanf("%d",&T);
while(T--) {
scanf("%d%d",&ca,&n);
int sum = 0;
int len = n / 2;
for(int i=len; i>=1; i--) {
for(int j=i; j>=1; j--) {
int k = n - i - j;
if(k > j) break ;
if(k + j > i) {
if(i != j && j != k && i != k) sum += 2;
else sum ++;