1 条题解
-
0
C++ :
#include<iostream> using namespace std; int main(){ int a[1000010] = {0}; int n,m,i,x,y; cin>>n>>m; //标记开关(m次标记) for(i = 1;i <= m;i++){ cin>>x>>y; a[x] = 1 - a[x];//取反 a[y + 1] = 1 - a[y + 1];//结束位置要多标记一位 } int s = 0; int r = 0;//正面朝上的个数 //存储结果数组 for(i = 1;i <= n;i++){ s = s + a[i]; r = r + s % 2; } cout<<r<<endl; }Pascal :
var a,f:array[1..10000000] of longint; b,i,j,n,s,x,y:longint; begin read(b,n); for i:=1 to n do a[i]:=0; for i:=1 to n do begin readln(x,y); a[x]:=1-a[x]; a[y+1]:=1-a[y+1]; end; for i:=1 to b do begin if a[i]=1 then s:=s+1; f[i]:=s mod 2; end; s:=0; for i:=1 to b do if f[i]=1 then s:=s+1; writeln(s); end.
- 1
信息
- ID
- 518
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者