/*大水题,用比较笨的方法模拟的*/
#include <stdio.h>
#include <string.h>
int part[200][4000];
int main()
{int N, time, x, p, count, cal[4000], a, b, i, t;scanf( "%d", &time );while( time-- ){memset( part, 0, sizeof(part) );memset( cal, 0, sizeof(cal) );scanf( "%d", &N );scanf( "%d", &p );for( a = 1; a <= p; a++ ){t = 0;scanf( "%d", &x );for( i = 1; i <= N; i++ ){if( ++t == x ){part[a][i] = 1;t = 0;}}}for( b = 1; b <= N; b++ )for( i = 1; i <= p; i++ )cal[b] = part[i][b] | cal[b];t = 0;for( i = 1; i <= N; i++ ){if( ++t == 6 ){cal[i] = 0;cal[i+1] = 0;i++;t = 0;}}count = 0;for( i = 1; i <= N; i++ )if( cal[i] )count++;printf( "%d\n", count );}return 0;
}
详细解决方案
UVA 10050
热度:41 发布时间:2024-01-11 16:40:24.0
相关解决方案