fork(1) download
  1. // paiza POH! vol.2
  2. // result:
  3. // http://p...content-available-to-author-only...a.jp/poh/paizen/result/4cc0d23cc3817e04cd9a8893ab4955a1
  4. // author: Leonardone @ NEETSDKASU
  5. using System;
  6.  
  7. public class Test
  8. {
  9. public static void Main()
  10. {
  11. var hw = Console.ReadLine().Split(' ');
  12. var h = Int32.Parse(hw[0]);
  13. var w = Int32.Parse(hw[1]);
  14.  
  15. var tb = new int[301, 301];
  16. var sp = new int[w];
  17.  
  18. for (var y = 0; y < h; y++)
  19. {
  20. var line = Console.ReadLine();
  21. for (var x = 0; x < w; x++)
  22. {
  23. if (line[x] == '0')
  24. {
  25. sp[x]++;
  26. var s = sp[x];
  27. var t = 1;
  28. for (var i = x; i >= 0 && sp[i] > 0; i--)
  29. {
  30. if (sp[i] < s)
  31. {
  32. s = sp[i];
  33. }
  34. tb[s, t]++;
  35. t++;
  36. }
  37. }
  38. else
  39. {
  40. sp[x] = 0;
  41. }
  42. }
  43. }
  44.  
  45. for (var x = 1; x <= w; x++)
  46. {
  47. for (var y = h - 1; y > 0; y--)
  48. {
  49. tb[y, x] += tb[y + 1, x];
  50. }
  51. }
  52.  
  53. var n = Int32.Parse(Console.ReadLine());
  54.  
  55. for (var i = 0; i < n; i++)
  56. {
  57. var st = Console.ReadLine().Split(' ');
  58. var s = Int32.Parse(st[0]);
  59. var t = Int32.Parse(st[1]);
  60. Console.WriteLine(tb[s, t]);
  61. }
  62. }
  63. }
Success #stdin #stdout 0.03s 34320KB
stdin
5 5
00000
00100
00010
10001
10000
7
2 2
1 1
3 2
3 2
2 3
3 1
1 3
stdout
6
20
2
2
1
6
7